ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

压图别再开PS了:Squoosh与Caesium让图片压缩三秒高效搞定

压图别再开PS了:Squoosh与Caesium让图片压缩三秒高效搞定 回想一下你第一次打开Photoshop是为了什么我猜超过一半的人会回答把图片变小。我自己也是这样大学那会儿要传作业到课程平台单张图片不能超过2MB花了一晚上学会人生第一个PS技能——图像大小调整然后另存为JPEG拖那个质量滑块反反复复试好几遍才能卡在2MB以内。那时候觉得PS真牛后来才反应过来这件事从头到尾都透着离谱为了把一个文件变小打开一个吃内存大户手动搓一堆对话框还要祈祷别压过头。前阵子帮朋友批量处理上百张电商图她还在用PS一张一张导出我实在看不下去了直接把压箱底的两个免费工具丢给她。她试用完之后问了我一句为什么不早点给我这个所以就有了这篇文章。我想聊聊为什么压图这件事不该用PS以及真正3秒搞定压图的小工具应该怎么选、怎么用、效果到底怎么样。1. 从压图这件小事说起PS的笨重与替代品的必要性1.1 压图是大多数人的第一个PS需求先把话说明白我并不是来劝你卸载PS的。修图、合成、调色、抠图、做海报这些场景里PS依然是不可替代的角色我自己日常也离不开它。但压缩图片这件事真的不属于PS的舒适区就像你不会拿单反去拍证件照——能拍但是杀鸡用牛刀。压图的核心需求通常是这么几类平台上传限制商品图不能超过1MB、内容后台要求配图在200KB以内、网页加载速度优化、聊天工具传输体积限制以及网盘存储空间焦虑。这些需求的共同点是简单、重复、量大、对画质有要求但对PS级精修没要求。这时候你需要的不是一整套图像编辑软件而是一个输入一张大图输出一张规格达标的小图的专用工具。这个工具要满足三个基本条件操作时间足够短、批量处理足够方便、画质损失足够可控。有意思的是很多人学了PS之后做的第一件事就是压图然后就在要不要装个破解版的纠结里卡住了。网上那些PS安装包、破解版的帖子满天飞我劝你真的别碰不管是安全风险还是法律风险都不值得——更何况如果需求只是压图完全有免费开源的方案能做到更好。省下的不光是钱还有折腾安装、折腾弹窗、折腾报错的时间。1.2 PS压图的操作链到底有多长我按最常见的PS压图流程走一遍打开PS文件→打开选图图像→图像大小把分辨率改低或者把长边改短然后文件→导出→存储为Web所用格式旧版或者直接另存为JPEG弹窗里选质量10格滑块没辙只能凭感觉拖拖完看一眼右下角预估文件大小不满意再回去拖。一张图这么走下来30秒是快的如果图多每张都要重复这一套。这还没算启动PS的时间——机器稍微老点启动加上打开大图十几秒就过去了。更麻烦的是批量。PS虽然有图像处理器脚本和动作面板但对大部分用户来说学习成本已经超过这件事本身的价值了。你本来只想花3秒压一张图结果要先研究30分钟脚本怎么录这买卖怎么算都不划算。我自己见过太多人压一批图压到崩溃一边导出一边手动记文件名还得不停开关图像大小窗口效率低到让人怀疑人生。PS还有一个隐含成本它启动之后要占大量内存一台配置普通的笔记本同时开着浏览器、聊天工具和PS风扇能转出直升机的动静。为了压一张图让整个电脑卡半天这代价太不值了。1.3 为什么我劝你换掉它有人会说PS压图质量最好这其实是误解。PS的JPEG导出质量算法并不是最先进的它胜在稳定和可控但在相同体积下保留细节的能力Google的MozJPEG这类针对Web优化的编码器往往表现更好。我用同一张照片在PS和Squoosh里分别压到200KB左右放大看树干纹理和头发丝Squoosh的观感更干净。另外一个问题是PS对WebP、AVIF这些新格式的支持不完整。新版PS已经支持WebP了但AVIF支持一直很麻烦而网页端和App端越来越多地需要这些格式因为它们同样画质下体积能省一半。你总不能为了转个格式再去额外折腾插件吧。所以我的结论很直接PS是给创造图片用的不是给压缩图片用的。压图这件事应该交给更专注、更轻量的工具。2. 我实测过的三类压图方案浏览器端、桌面端、在线服务2.1 Google开源的Squoosh浏览器里跑本地算法先说说我这几年用得最多的一个——Squoosh。这是一个开源的图像压缩工具最妙的是它运行在你的浏览器里而且所有计算都在本地完成图片不会上传到任何服务器。你打开页面把图拖进去左边是原图右边是压缩后的效果中间一条滑块可以来回拖动对比左下角直接显示压缩后的文件大小。Squoosh支持JPEG、PNG、WebP、AVIF而且每种格式背后不是随便写的压缩逻辑而是集成了MozJPEG、OxiPNG、libwebp、AVIF这些成熟的编码库。说白了它把一堆专业编码器塞进了一个网页里省去了你安装配置的麻烦。我第一次用Squoosh的时候说实话被震了一下同一张4000×3000的照片PS压到1.9MB还隐约能看到色块断层Squoosh同样画质级别能压到1.2MB。操作只有一步——拖图进去这就是3秒搞定的底气来源。提示Squoosh本地处理意味着断网也能用但第一次打开页面需要加载之后浏览器缓存里就有完整资源了。处理超大尺寸比如几十MB的全景图时建议先做一次尺寸缩放再压浏览器不容易卡。2.2 Caesium最容易上手的批量桌面工具Squoosh好归好单张处理是神器但如果一次要压50张商品图、200张活动照片靠手动一张张拖就累了。这种批量场景我推荐Caesium一个免费开源的桌面压缩软件Windows、macOS都有版本。界面很朴素但功能对一个压图工具来说已经过于丰富了。Caesium支持拖入整个文件夹你可以批量设置输出目录、压缩质量、是否缩放尺寸、是否保留EXIF信息、是否用多线程。处理速度非常快几十张图基本是几秒到十几秒的事。它内部用的是libjpeg-turbo和pngquant这些库压缩质量和压缩速度都有保证。很多人没注意到Caesium有个无损压缩模式专门处理PNG。它不会动你的像素只是去除PNG文件里的冗余数据有时候能把3MB的PNG缩到1MB以内。这个功能对前端开发者和做PPT的人极其友好——尺寸更小、画质完全不变。2.3 在线压缩站方便但别忽略隐私和次数限制顺手再提一类在线压缩网站比如TinyPNG以及很多同类站点。优点是一个浏览器地址栏就够了不用装任何东西手机电脑都能用。缺点也很明显一是需要把图片传到别人的服务器敏感图片、合同扫描件、身份证照片这些务必谨慎二是多数免费站有文件大小限制超过5MB就得付费或者绕来绕去三是压缩算法水平参差不齐很多站为了追求体积牺牲画质压出来的图放大全是马赛克。所以我的建议是偶尔应急用在线站日常工作用本地工具。在线站里如果一定要选TinyPNG算是最稳的对透明通道PNG的处理尤其好但免费额度有限重度用户很快就会碰到限制。方案单张速度批量能力隐私安全格式支持画质控制Squoosh3-5秒较弱本地处理不出本机JPEG/PNG/WebP/AVIF精细Caesium单张秒级极强本地处理JPEG/PNG/WebP中等精细在线压缩站视网速一般需上传服务器各家不同参差不齐3. 3秒压图实操记录从拖入文件到导出成品3.1 Squoosh实操一个滑块搞定90%的场景我用一种你马上就能复现的方式来演示Squoosh。打开squoosh.app把一张3.2MB的JPEG照片直接拖进窗口。页面会自动切到压缩预览模式左侧是原图右侧是压缩后的效果中间一条竖线可以左右拖动做局部分割对比底部是文件大小对比。默认编码器是MozJPEG质量默认75输出文件已经小了很多。你要做的只有三件事看底部体积是否达标拖动分割线检查关键区域有没有明显劣化点右下角的下载按钮。整个过程确实三秒能完成我实测过很多次从拖入到下载基本在3到5秒大头都花在下载文件上。Squoosh的界面右侧还有更多参数比如质量滑块、色度采样、渐进式JPEG开关新手阶段完全不用碰默认值改一个质量就够了。如果要精确控制体积把编码器切换成WebP质量滑块调到差不多80你会发现在同样视觉质量下体积比JPEG又小了三分之一。这就是我压图时的默认方案——输出WebP格式。页面里那个对比模式我建议开启它能在中间显示一条分割线左边原图右边压缩图让你一眼看出压缩算法动了哪些区域。3.2 Caesium实操批量压缩20张图片的完整流程批量场景我走一遍Caesium。打开软件把文件夹拖进左侧区域所有图片会自动列出。右侧面板的输出设置里有几个关键选项目标文件夹建议新建一个compressed目录别覆盖原图、JPEG质量我一般填80、是否缩放如果只是网上使用把最长边设为1920像素足够、是否保留EXIF我默认勾掉省空间也减少隐私暴露。设置完直接按压缩进度条一两秒就全跑完了。20张图片平均每张2.5MB压完在300KB到800KB之间。我用肉眼逐张看过光线正常的照片几乎没有感觉唯独有两张暗部较多的夜景图出现了轻微噪点断层这个在后面避坑部分细说。Caesium还支持压缩前预览在图片上右键可以看原始信息和压缩后的估算体积方便你调整参数。这里有个小技巧Caesium允许拖入同一个文件多次可以用来做参数对比实验。比如同一张图分别存80质量和65质量放在一起放大比较你很快就能摸清手里这批图的质量保质线在哪里。这个经验一旦掌握以后批量压图基本不用反复试。3.3 压缩参数的黄金组合参考表我整理了一个可以直接照抄的参数表覆盖常见场景。注意这些不是绝对的光源复杂、颗粒感强的图要适当调高质量。使用场景推荐格式质量/参数长边尺寸预期体积电商主图JPEG/WebP质量80800-1200px100-400KB内容平台配图JPEG质量70-751200-1500px150-350KB网页首屏背景WebP/AVIF质量701920px200-500KB印刷输出TIFF/PNG无损原始尺寸不压聊天快传JPEG质量85最长边1600px300-700KB表格里那行印刷输出是提醒你不是所有图都要压。压图是为了屏幕传输如果最终目的是打印出图别压缩保留原始文件。压缩是一次性的信息损失原始文件一旦被覆盖再后悔就晚了。4. 压图效果对比同一张照片三种工具的实测数据4.1 测试样本与评分标准为了不空口说白话我做了一轮简单但规范的对比测试。样本是一张我日常拍摄的城市街景照片4000×2250原文件4.7MB画面里有人物、密集的树叶、渐变的天空。这种情况下最容易暴露压缩算法的差异。对比对象是三个工具PS2024另存为JPEG、SquooshMozJPEG编码器、Caesiumlibjpeg-turbo编码器。目标体积尽量控制在400KB上下然后放大200%观察细节、边缘、天空渐变是否出现明显色块。评分标准分三档肉眼无差别、有轻微瑕疵但不影响使用、有明显劣化。我对每个工具的多次输出做了盲测记录也就是不告诉自己是哪个工具压的只看画面表现。这种盲测方式能排除心里觉得贵工具一定好的偏见。4.2 实测数据表格与结论工具压缩后体积处理耗时树叶细节天空渐变综合评价PS2024 JPEG483KB约45秒含启动轻微涂抹感轻微色带可用但效率低Squoosh MozJPEG412KB3秒细节保留较好色带控制好首选Caesium 质量80398KB2.5秒批量细节保留中等偶见色带批量首选结论很直白单张压图Squoosh的算法优势是能看出来的同样的体积门槛它对纹理细节的保留比PS里的标准JPEG编码器更好。批量压图Caesium效率碾压质量和PS基本持平。PS在这个场景里唯一赢的地方是你本来就开着PS如果真是这样顺手压也行但为了压图专门开PS属实没必要。这里需要说明PS的存储为Web所用格式其实内置了比普通另存为更好的压缩选项但操作路径更长对普通用户更不友好。而Squoosh把优化过的编码器直接摆在了默认位置这是工具设计上的胜利。4.3 画质差异的评判别只看文件大小我在这个测试里最想吐槽的一点是很多人判断画质好坏只看缩略图。缩略图在屏幕上就指甲盖大小什么工具压的几乎都看不出差别但放大到100%甚至200%差距立刻现形。所以我的建议是对比的时候就盯着两个地方看——高反差边缘比如树枝和天空的交界和低频渐变区域比如天空、皮肤。前者暴露涂抹感后者暴露色带断层。另一个反直觉的经验体积越小的图片在深色区域越容易出问题。因为压缩算法对暗部噪声的容忍度低压狠了会出现一块块的色斑这种情况再好的工具也救不回来只能降压缩强度或者给图片先做一次轻量降噪。我处理夜景照片时质量滑块通常不敢低于80宁可文件大一点也不要让暗部变成马赛克。5. 压图时最容易踩的坑透明度、色彩空间与格式陷阱5.1 PNG带透明通道压完背景变黑先讲一个高频事故。设计师给了一张带透明通道的PNG你用Squoosh默认的MozJPEG一压导出成了JPEG原本的透明区域直接变成黑色块整个图废了。这不是工具bug是格式特性JPEG根本不含Alpha通道透明信息在编码时默认由黑色填充。遇到这种情况要么输出PNG格式并打开Squoosh里的无损开关要么输出WebPWebP既支持透明又支持有损压缩是带通道图片的最佳压缩格式。顺便提醒一句检查透明通道的方式是看预览Squoosh右下角有原图和编码后对比如果你看到背景颜色发生变化先检查格式不要急着调质量滑块。这个坑我见过不止一次特别是在处理抠图后的商品素材时压完背景一片黑商家差点把素材重新拍一遍。5.2 色彩空间漂移压完颜色变了第二个坑更隐蔽。有些相机和设计软件图片用的是Display P3或Adobe RGB色彩空间但大多数压缩工具默认按sRGB输出处理时会做色彩空间转换。转换得当问题不大转换粗糙的话压完的图整体发灰或者饱和度降低。这种差异在普通屏幕上可能一时察觉不出来放到大屏或者打印时就很明显。解决思路有两个一是在PS里提前把图片转成sRGB再导出二是用Squoosh时把输出格式设定里的色彩空间选项手动选成sRGB。Caesium在高级选项里也有色彩配置文件的处理选项批量处理前看一眼默认值。我一般会开着显示色彩管理信息功能一眼就能看出图片有没有带ICC配置文件做批量处理之前先统一转换避免一批图里有的偏色有的正常。5.3 格式选择的隐性坑WebP、AVIF的兼容性问题WebP和AVIF确实省体积但兼容性是个绕不开的问题。Windows自带的照片查看器对AVIF支持很晚老版本甚至打不开WebP你在电脑上压完的图看着正常发到某些老旧后台系统里可能就显示不出来了。所以在不确定对方环境的情况下我会选择保守策略网页用WebP首选发给别人看JPEG最保险要透明通道PNG或WebP。具体的设备覆盖情况可以这样记JPEG和PNG是万能格式所有平台都认识WebP在主流浏览器和现代手机系统里没问题但旧设备有风险AVIF是新一代格式体积最优但只能保证2020年之后的系统和浏览器支持。如果你是给公司内部系统传图先确认后台代码支持哪种格式再决定。另外很多在线表单和编辑器只认jpg和png你费劲压出来的webp别人根本传不上去别白忙活。6. 更高阶的玩法把压图流程自动化6.1 给自己定一个发布前检查清单到这一步工具已经很好用了但真正让压图变成3秒而不是30秒的关键是把决策流程也压缩掉。我给自己定了一套发布前检查清单每次发图之前过一遍用途是什么网页、聊天、存储、打印格式怎么选有透明就PNG或WebP否则JPEG或WebP尺寸需要多大是否先缩放目标体积多少按平台要求这套清单花不了10秒钟但能避免大多数压图返工。很多人的问题不是不会压图而是没想清楚就压压完才发现格式不对、尺寸不对来回折腾。如果你是一个内容创作者建议把平台的图片规范截图保存每次照着参数表来基本不会出错。6.2 用命令行工具把压图嵌进日常脚本如果你对命令行不排斥可以试试把压缩变得更自动化。Squoosh有个CLI版本squoosh/cli装了Node环境之后一条命令就能批量处理文件夹里的图片。Caesium也有官方命令行版本CaesiumCLT适合放在批处理脚本里。比如我会在每周整理图片素材时跑一条命令把指定文件夹里所有超过2MB的图片自动压到合适的体积。这里给出一个思路不是完整脚本但够用先用文件夹筛选出大于2MB的文件然后交给CaesiumCLT按预设参数压缩输出到另一个目录再手动抽查几张确认画质。全程可能不到一分钟几百张图就处理完了。对于不碰命令行的读者也完全不用勉强图形界面的批量功能已经覆盖了90%的需求命令行只是锦上添花。6.3 我现在的实际工作流最后分享一下我现在每天在用的完整流程你可以直接抄。图片进入我的流程之后如果是单张照片要发社交媒体Squoosh拖进去WebP质量75三秒搞定如果是一批电商图或者文章配图Caesium批量处理质量80最长边压缩到1600像素输出目录单独建一个compressed文件夹如果是PNG截图要给前端用Caesium开无损PNG压缩如果对方明确要求JPEG且不能接受WebPSquoosh里用MozJPEG质量78。这套流程用了快两年基本上没再因为压图这个事跟PS打过照面。我并不是说PS不行而是想说工具选择的本质是匹配需求压图这个需求值得用更顺手的工具来完成。如果你还在为一张张压图而头大试试Squoosh和Caesium的组合大概率会回来感谢我。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进