shadcn.io— 数千款 shadcn/ui 区块
跳转到内容

你的截图为什么有 2 MB,怎么把它压掉 60–90%

我有一次数过一封设计评审邮件里的截图。整整十一张,全是 PNG,平均每张差不多 2 MB。二十多兆的、大片留白的仪表盘,在六个人之间飞来飞去,而这六个人的另一个标签页里,开的都是同一个应用。没人多想,因为它「能用」。这就是那个陷阱。截图悄无声息地大得离谱,而原因,就烤在你的电脑截图的方式里。

一张截图凭什么有 2 MB

你一按截图快捷键,操作系统就存了一张 PNG。这是个合理的默认——PNG 是无损的,所以截下来的画面像素级精确,而对一张满是锐利文字的截图来说,这份直觉其实是对的。问题出在 PNG 对体积的处理上。

PNG 精确地存下每一个像素。现代屏幕像素密度很高——在 Retina 或 4K 屏上截一整个窗口,宽度可能超过 2000 像素,而 PNG 会忠实地把这几百万个像素全都以全保真记下来。它不在乎画面里 60% 都是同一种接近白色的色调。它什么都不扔,因为「扔东西」这件事它压根不干。于是一张几乎空白的设置页截图——视觉上几乎啥也没有——照样重达 1.5 到 2.5 MB,因为哪怕内容稀稀拉拉,画布本身就是巨大的。

该出的招:转成 WebP

WebP 能做一件 PNG 做不到的事——在保住锐利边缘和透明的同时,做有损压缩。具体到截图上,这个组合近乎魔法,因为一张截图大部分是平色区域(压起来便宜)加上一点文字(而 WebP 能把文字保持锐利)。那道有损的处理丢掉的是察觉不到的噪点,你的眼睛从不会来投诉。

下面是我自己硬盘上截图的真实数字:

截图存成 PNG存成 WebP
一张大片留白的设置页1.6 MB~180 KB
一张完整的分析仪表盘2.4 MB~310 KB
一张深色模式的代码编辑器1.9 MB~240 KB

差不多砍掉 85–90%,两张并排一放我根本分不出谁是谁。文字清晰到像素级。这是我做的所有转换里回报最高的一个,恰恰因为截图从一开始就重得离谱——里头有大把的「空」等着被挤出去。

「文字会不会变糊?」

这是大家的担心,也不无道理,因为你多半见过 JPG 截图里文字发糊、带灰边的样子,于是想当然地以为所有有损格式都这德行。可 WebP 处理边缘比 JPG 好——明显更好。在一个合理的画质设置下,WebP 截图上的文字保持锐利。我曾放大到 400%,绕着每个字形去找瑕疵,在正常的 UI 截图上一无所获。

诚实交代那个例外:要是你为了追一个极小的文件,把画质狠狠往下压,那你迟早会看到文字发软。解法就是别那么干。一个中等画质设置,已经能在文字完好的前提下拿下 60–90% 的收益。没有理由去硬闯那个会把它压垮的区间。

什么时候压了也没用

有两种情况我会让 PNG 待着别动。

如果这张截图要回到设计工具里去被标注、批注或者合成,我就保留无损。WebP 那道有损处理是一扇单向门,我可不想把压缩烤进一个我马上要编辑、要重新导出的东西里。发出去的用 WebP,PNG 母版留着——老规矩。

还有,如果一张截图本来就小——一个小小的裁剪细节、一个单独的按钮、任何已经在 100 KB 以下的东西——转了也几乎不动分毫。那 60–90% 的收益,来自那些因为画布巨大而巨大的文件。一个小裁剪早就把这个问题解决了。别为了没意义的事多加一道工序。

我实际上是怎么做的

在截图靠近任何邮件或文档之前,我都会先把它扔进这个站上的 PNG 转 WebP 工具。它在你的浏览器里发生,所以那张截图——说实话,它常常露着你半个屏幕、连带背景里的东西——从头到尾不离开你的设备。把 PNG 拖进去,看着体积那一栏塌下去,下载 WebP,改发那个。

更大的重点不在工具,在那个条件反射。一旦「截图,然后压缩」变成本能,你就不会再朝那些另一个标签页里开着同款应用的人甩 2 MB 的图,你的邮件发得更快,邮件串也不会再膨胀到几十兆。那封十一张截图的邮件,本来总共约 2 MB 就够了,而不是二十多兆。同样的图,同样的一切,只是没了那身死重。

相关文章


全部文章