AVIF转JPG:软件打不开的那张图
你从网页上保存了一张图片,结果电脑里没有一个软件能打开它。这就是AVIF。Chrome、Edge、Firefox和Safari都能正常显示,大多数图片CDN现在也默认输出AVIF,所以你并没有主动选择,图片却偏偏是这个格式。可是旧版Photoshop、Windows照片查看器、印刷店和不少上传表单,至今仍然拒绝这个扩展名。你的文件没有任何毛病,只是它用了一种在你的软件写出来时还不存在的格式。JPG是唯一一个几乎处处都能读的位图格式,所以转换是最短的一条路,转完就能发邮件、送去打印,或者塞进一个你无法修改设置的上传表单。下面讲的是这个转换器会对你的文件做什么,包括大多数转换页面避而不谈的那一部分。
转出来的JPG通常比AVIF更大
别的转换器都承诺文件会变小。在这个方向的转换上,这个承诺是假的,而且很容易验证。AVIF的编码效率远高于JPEG,所以同一张图变成JPG之后需要更多字节。下面是一张2000×1500的照片,原本是138 KB的AVIF,在我们自己的服务器上跑完三档设置的结果:
| 设置 | JPG大小 | 与AVIF相比 |
|---|---|---|
| Best quality(最高画质) | 426 KB | +207% |
| Recommended(推荐) | 184 KB | +33% |
| Smallest(最小体积) | 87 KB | -37% |
第二个文件是一张1200×900、只有21 KB的AVIF,走势完全一样,而且更极端:+285%、+55%,就算用Smallest也还是+4%。原始AVIF编码得越好,任何JPG能反超它的机会就越小。你在这里转换是为了兼容性,不是为了省空间。如果真正的目标是把文件变小,那就在转换之后再压缩JPG,或者把AVIF留给网页,只在AVIF被拒收的地方用JPG。
照片方向是正的
手机几乎把每一张照片都按横向记录,再附上一个标签说明该往哪边转。转换器如果忽略这个标签,竖拍的照片就会全部侧躺着回来。在这里,标签会在开始编码之前被读出并真正应用,然后从输出文件里清除。这两步缺一不可:标签留在文件里,Chrome、Safari、iOS和Windows的照片应用就会把已经摆正的照片再转一次,很多人图片倒过来却找不到原因,就是这么来的。
颜色不会变得刺眼
现在的手机用Display P3拍摄,色彩范围比sRGB更宽。把这个色彩描述文件直接丢掉并不等于做了转换,只是让同样的数值被拿错的尺子去读,于是每一种饱和的颜色都会过饱和:皮肤发红,天空像霓虹灯。默认情况下,色彩描述文件会随图片一起写进JPG。如果接收方根本不看描述文件,那就用Colour profile(色彩描述文件)这个设置,它会把画面正确地转换成sRGB,而不是把标签一扔了事。
透明区域填上你自己选的颜色
JPEG没有alpha通道,所以透明背景必须填上点什么。把一个四角透明的logo交给一个粗糙的转换器,拿回来的经常是背后多了一个黑方块,看上去和文件损坏一模一样。这里默认填白色,设置旁边的取色器允许你指定任意颜色,可以点色板,也可以直接输入十六进制代码。结果页会明确告诉你透明已经被合并,所以背景变了不会是意外。如果你需要保留透明而不是填色,请改用AVIF转PNG。
该选哪个设置
Best quality(最高画质)适合存档副本或者要送去印刷的稿件,这种场合不在乎文件大上好几倍。Recommended(推荐)是所有要放在屏幕上看的图片的正确答案,照片在正常观看尺寸下看不出损失。Smallest(最小体积)是给邮件、聊天软件,以及任何真正受体积限制的场合准备的。你随时可以改主意重新转换一次,不额外收费。
文件按内容识别,不看文件名
改名字不会改变文件里面的东西,而大家改文件名又非常频繁。一个挂着.jpg扩展名的AVIF,或者从浏览器另存为其他名字的.avif,都会依据它自己的字节被识别出来并正确转换。灰度AVIF转出来仍然是灰度。动画AVIF会输出它的第一帧作为静态图片,结果页会注明这一点。
批量转换保留原文件名
一次转换整个文件夹的图片,它们会打包成一个ZIP返回,每个文件都用你上传时的名字:photo.avif变成photo.jpg,阿拉伯文、中文和带重音符号的文件名同样保留。其中一个文件读不出来,不会毁掉整批:它会被跳过,在结果里列出名字和原因,其余的照常转换。结果还会逐个列出每个文件转换前后的大小,而不是只给你一个总数。
你会得到什么
- 一个在AVIF出现之前写成的软件里也能打开的JPG
- 方向正确的照片,方向标签已清除,不会再被任何程序转一次
- 广色域颜色原样保留,或者按你的要求正确转换成sRGB
- 透明区域填上你选的颜色,绝不会莫名其妙变成黑色
- 每一次都保持与原图完全相同的像素尺寸
- 批量转换打包成一个ZIP,文件名保持原样
接下来呢
需要保留透明背景而不是填色?AVIF转PNG有真正的alpha通道,连半透明也能完整保留。
已经有JPG了,但是发邮件太大?压缩JPEG可以在不改变尺寸的前提下把体积降下来。
同样的问题,换个格式?HEIC转JPG处理的正是iPhone上一模一样的情况。