图片加工总发糊?先定终点再调参数,附各平台尺寸表和批量命令

关键词:图片加工,图片尺寸参数,图片批量压缩,图片格式转换,图片压缩模糊

摘要:做图片加工两年踩的坑:为什么按淘宝参数做的图发小红书就糊?分享一套「终点倒推」的参数确定方法、主流平台尺寸对照表、JPEG/PNG/WebP/AVIF 的选择标准,以及 ImageMagick、ffmpeg、Squoosh 的批量处理命令。

上个月帮一个做手工皮具的朋友处理商品图,我按老习惯给她导了一套 1000×1000 白底方图,JPEG 质量 85,自我感觉挺标准。结果她发到小红书上,竖屏被裁掉一半,剩下那半还糊得跟隔了层油纸似的。她没骂我,但那种「你不是懂这个吗」的语气我听得出来。

图片

后来我复盘,问题真不在参数上,我那些参数放在淘宝详情页里一点毛病没有。问题是我压根没问一句「你打算发哪」。这件事之后我给自己定了个规矩:图片加工这活,动手之前必须先把终点问清楚,不然调多少参数都是瞎调。

先定终点,再倒推参数

我管这个叫「终点倒推」。听起来挺装,其实就是三个问题:图发到哪个平台、别人用什么设备看、网络条件怎么样。这三个答案基本就把尺寸、格式、质量全锁死了。比如发小红书,主图是 3:4 竖屏,推荐 1242×1660 像素,你非得用淘宝的方图,系统只能给你裁或者补白边,裁完构图全废。发公众号封面是 900×383(2.35:1),次图 200×200,这俩比例差着十万八千里,同一张图得存两份。

我列了个自己常用的对照表,可能不全,但覆盖了我 90% 的场景:

图片

平台/位置 像素尺寸 比例 备注
小红书 笔记主图 1242 × 1660 3:4 竖屏,单张别过 20MB
抖音 视频封面 1080 × 1920 9:16 上下会被 UI 挡掉一截
微信公众号 首图 900 × 383 2.35:1 次图是 200×200 方图
淘宝/天猫 主图 1000 × 1000 1:1 单张 ≤ 3MB,白底优先
淘宝 详情页 宽 750 不限 单张压到 500KB 以内加载才顺
微信朋友圈 长边 ≤ 1080 不限 想不被压,发的时候勾「原图」

这张表我打印出来贴在显示器边上,改了七八版了。你会发现同样是「一张商品图」,需求能差出三四个规格来。

参数这块,我最想说的是 DPI 这个坑

图片

太多人在 PS 里把 72 DPI 改成 300 DPI,然后觉得图片变清晰了——没有,一个像素都没多。DPI(或者 PPI)只在你把文件送去打印的时候才有意义,屏幕上显示只看像素总数。你在 PS 里打开「图像大小」那个对话框,把「重新采样」的勾去掉,再往分辨率里填 300,你会看到像素尺寸纹丝不动,文件大小也纹丝不动。真正让图变清晰的路只有一条:拿到更高像素的原图,或者一开始就拍好。

格式和质量的取舍,我现在的默认值是:JPEG 质量 82,绝不上 90 以上。质量 100 的文件往往是质量 82 的四倍大,你盯着 200% 放大能看出点差别,正常看手机根本看不出来。PNG 只用在需要透明通道、或者图里有文字的场合,而且我会过一遍 pngquant 把它量化到 256 色,体积能砍掉六成左右。WebP 我现在用得越来越多,同样观感下比 JPEG 小 25%~35%,缺点是老设备兼容性有坑。AVIF 更狠,能再小一半,但编码慢,我一般只在网页端大批量用。

还有两个顺序上的坑,我踩过不止一次。一是锐化必须在缩放之后做,先锐化再缩小,你锐化的那些细节全被重采样平均掉了,等于白干。二是导出前记得把色彩配置转成 sRGB,PS 里「转换为 sRGB」那个勾一定要打上,不然发到手机上颜色会发灰或者发艳,尤其红色特别容易崩。至于 EXIF 里的方向信息,批量处理的时候直接 -strip 掉最省事,反正现在手机相册都自动转正。

批量处理:命令行真的比 GUI 快十倍

图片

处理三五张图,我直接用 Windows 画图的 Ctrl+W,或者网页版 Squoosh,后者是 Google Chrome Labs 出的,MozJPEG、OxiPNG、WebP、AVIF 都能导,还能左右对比,免费。但一旦超过 50 张,老老实实上命令行。

ImageMagick 7 之后命令前缀从 convert 变成了 magick,这个改动坑了不少照老教程做的人。一条我常用的批量压小红书图的命令:

magick mogrify -resize 1242x1660^ -gravity center -extent 1242x1660 -quality 82 -strip -path ./out *.jpg

图片

这行的意思是:先按短边缩放到能盖住 1242×1660(那个 ^ 就是「盖住」),然后从中心裁切到正好这个尺寸,质量 82,去掉所有元数据,输出到 out 文件夹。200 张图大概十几秒跑完。

如果只是压体积不改尺寸,我更爱用 ffmpeg,它对 JPEG 的 q 值映射调得挺舒服:

ffmpeg -i input.jpg -q:v 4 -strip output.jpg

q:v 是 2 到 31,数字越小质量越高,4 大概对应 80 出头。GUI 工具里 XnConvert 是免费的,批处理、改尺寸、加滤镜都能干;TinyPNG 在线版一次最多 20 张、单张不超过 5MB,够用但重度就不行了。

图片

几个反常识的小事

微信的压缩算法对带文字的图特别不友好,一张 PPT 截图发出去,字的边缘会起一圈噪点。这种图我宁可直接发文件,或者先在 PC 端微信里点「原图」。另外图片放大这件事,除了 AI 超分,传统的插值放大基本就是糊,2 倍以内勉强能看,4 倍以上就是马赛克,别信什么「无损放大」的宣传。

最后我自己用的检查清单就四条:尺寸符不符合平台、质量有没有超过 82、色彩空间是不是 sRGB、文字类图片有没有换成 PNG。四条过完再发,基本不会再出现「发上去就糊」这种事。

标签: