图片工具的边界集中在三处:透明通道、色彩配置、以及动图。同一个操作在 JPG 上没问题,换 PNG 或 WebP 就可能悄悄变了样。
把一张图压小,看起来是最没技术含量的操作。但格式不同,结果差别很大,而且差别常常是「看起来没问题,实际已经变了」。
透明通道
PNG 和 WebP 支持透明,JPG 不支持。把一张带透明背景的 PNG 转成 JPG,透明区域会变成白色或黑色——取决于工具的默认填充色,而多数工具不告诉你它选了哪个。
如果你的图要用在深色背景上,这个默认值就是事故。验证方法:转一张透明图,放到深色画布上看边缘。
色彩配置
手机拍的照片常带色彩配置信息(比如 sRGB、Display P3)。处理工具如果丢掉这个信息,同一个色值在不同设备上显示会不一样。
对普通用途影响不大,但对电商主图、印刷稿影响明显:客户看到的颜色和你看到的不一样。
验证方法:处理前后各看一次文件的元数据,看色彩配置还在不在。多数系统自带工具都能看。
动图
GIF 和动态 WebP 是一组帧。很多「压缩」工具只处理第一帧,输出一个静态图——文件确实小了,动画也没了。
验证方法:传一个动图,看输出还是不是动的。这一步很多人省了,直到上线才发现 banner 不动。
元数据:删还是留
这里有个双向的坑。
一是**该删的没删**:手机照片带 GPS 坐标、设备型号、拍摄时间。发到公开页面前应该删掉。多数「压缩」工具顺手就删了,但并非所有都删。
二是**该留的删了**:版权信息、作者署名。有些场景需要保留。
所以「压缩」这个动作要明确:是只压像素,还是连元数据一起清理。
尺寸与画质的关系
缩小尺寸通常能显著减小文件,而且几乎不损失观感;单纯降画质则会让细节发糊。一个实用顺序是先缩到实际显示尺寸,再看还需不需要压。
比如网页上显示宽度 800px 的图,传一张 4000px 的原图,压得再狠也是浪费。
超限时的表现
和 PDF 一样,看三种:明确拒绝、静默降质、中途失败。图片工具最常见的静默降质是「悄悄把尺寸缩到上限」,你拿到的图分辨率变了,但没人告诉你。
验证方法:传一张明显超大的图,对比输出的像素尺寸。