重新编码会保留什么,丢掉什么
图片文件是像素,外加一组关于这些像素的说明:这些数值是在哪个色彩空间中度量的、有没有Alpha通道、相机在EXIF中记录了什么——型号、曝光、日期,常常还有GPS坐标——以及在GIF、WebP和AVIF中,是否有不止一帧。这里几乎每项操作都会解码文件再写出一个新文件,而每一项说明都有各自的命运。
有损与无损是第一个分岔口。 PNG和BMP存储的是精确的像素,所以重复保存一百次也不会有任何变化。JPG、AVIF和普通WebP会丢弃人眼不易察觉的细节,而被丢弃的部分就此消失——把JPG转成PNG无法将其恢复,只能止损。这就是为什么把JPEG保存两次比保存一次更糟:第二次编码会对已经量化过的像素再次量化;如果中间还裁剪或缩放过,新的8×8分块网格就不再与旧网格对齐,误差会层层叠加,而不是简单重复。只要原图还在,就尽量从原图开始处理。
色度抽样正是JPG截图看起来不对劲的具体原因。JPEG通常以全分辨率存储亮度,以一半分辨率存储颜色,这在照片上看不出来,但在红色文字或细彩线上就很明显。如果您的图片是截图、Logo或示意图,PNG或WebP才是合适的目标格式,JPG不是。
透明区域总得有个去处。 JPG根本没有Alpha通道,所以PNG转JPG和AVIF转JPG会询问您用哪种颜色替换透明像素,而不是背着您把它们压成白色——或者黑色。PNG、WebP和AVIF都支持完整的Alpha通道,所以PNG转WEBP以及图片去背景生成的抠图,都能完整保留柔和的边缘。
EXIF不会保留。 每个会重新编码的工具——转换、压缩、调整尺寸、旋转、裁剪——都会写出一个不含EXIF信息块的干净文件,所以相机型号、时间戳和GPS位置都会被去掉。发布照片之前,这恰恰是您想要的。方向是EXIF中唯一影响视觉效果的信息,旋转图片通过移动实际像素绕开了它,所以无论查看器是否理会这个标记,结果都是正的。
色彩配置文件会被转换,而不是保留。 您的浏览器会把Display P3或Adobe RGB文件解码为sRGB才能显示,写回的文件不嵌入任何配置文件。在普通屏幕上看不出任何变化;在广色域屏幕上,饱和度最高的颜色会被裁切。TIFF转JPG走的是同一条路径,所以工作室的CMYK TIFF会变成RGB;如果要校对颜色,就应该留在印前软件中处理。
动画会变成静态图。 动态GIF、WebP和AVIF文件在转换时只取第一帧。这通常正是人们用GIF转PNG时想要的,但在把一段十二秒的循环动画拖进去之前,最好先知道这一点。
什么情况下浏览器确实不是合适的工具
这些工具的设计初衷就是保护您文件的隐私,而这是有代价的。我们宁愿在这里说清楚,也不愿让您在做到一半时才发现。
超大图片。 每个像素都以解压后的形式保存在您设备的内存中——一张1亿像素的图片,在进行任何处理之前,以原始RGBA计就约有400 MB。超过一定程度,标签页就会内存不足,而4×放大会更早触顶,在普通笔记本电脑上输出约6000×6000时就会到达上限。从磁盘分块流式读取的桌面工具则没有这种限制。
相机RAW。 CR2、NEF、ARW和DNG文件是传感器数据加一份显影参数,而不是成品图片,这里的工具都打不开。请先用相机软件导出JPEG或TIFF,或者使用darktable或RawTherapee——两者都免费,干这件事都远胜任何网页。
印刷色彩。 专色、CMYK分色、ICC渲染意图和屏幕软打样,属于印前软件的范畴。我们把颜色转换为sRGB,以便浏览器显示;但不做色彩管理。
批量与自动化。 这些工具要有人点击才会运行。按计划调整四万张商品照片的尺寸,是服务器上命令行工具的活,而免费工具都很出色:ImageMagick几乎无所不能,libvips处理超大文件速度快、内存占用低,mozjpeg和oxipng能挤出最后几个字节,ffmpeg则能处理一切带帧的内容。
去背景有实实在在的上限。 它只需下载一次,大小为40–85 MB,对主体清晰的图片效果确实很好,连头发和毛发都不例外;但面对没有明显主体的杂乱场景,它确实会犯糊涂。再多的本地算力也解决不了这个问题;这是方法本身的局限,付费服务也一样。
如何在名字相近的工具之间选择
压缩图片与修改图片尺寸。压缩图片保持尺寸不变,让每个像素占用更少的字节。修改图片尺寸则改变尺寸,直接去掉一部分像素。对于一张4000px、需要压到200 KB的照片,先修改尺寸再压缩,每次都胜过只压缩——而且修改尺寸在关键意义上是无损的,因为保留下来的像素经过了妥善的重新采样,而不是被降质。
修改图片尺寸与图片无损放大。两者都会改变尺寸,但调校方向正好相反。修改图片尺寸用于缩小,采用Lanczos滤镜,让细节在缩小后得以保留。图片无损放大用于2×和4×放大,并在放大后加一道边缘感知锐化,因为放大总会让画面变软。两者都不会凭空创造细节——输出的内容本来就在您的图片里。
转换为ICO与Favicon图标生成器。转换为ICO生成一个包含16、32、48和256px多种尺寸的.ico文件,这是Windows应用程序或快捷方式所需要的。Favicon图标生成器生成整套现代图标——.ico、各个PNG、Apple触摸图标、Web清单文件和HTML标签——并打包成ZIP,这是网站所需要的。
PNG转WEBP与JPG转AVIF。两者都能让网页图片比原图更小,适用的来源却不同。WebP保留透明背景,编码瞬间完成,所以是截图、Logo和界面图形的合适目标格式。AVIF对照片的压缩更狠——通常比同等质量的JPG小40–60%——但AV1编码很耗资源,每张大照片需要几秒钟。
图片模糊与图片去背景。图片模糊会破坏您所框选区域中的信息:人脸、车牌、账号。图片去背景会把主体与背景分离,并彻底删除背景。如果目的是遮盖敏感信息而不是抠图,就用模糊——对文字要使用粗颗粒的马赛克,因为已有公开研究还原过弱马赛克。