现在一张 iPhone 或三星手机拍的照片,随便就有 3 MB 到 12 MB。在生日会上连拍四十张,蛋糕还没切,半个 G 就没了。如果你的存储空间老是满,或者邮件因为附件太大发不出去,罪魁祸首就是文件体积——而且这真不怪你。

手机照片为什么变得这么重

照片为什么这么大?教你把手机照片变小 — visual 1
手机照片为什么变得这么重

有三件事在同时跟你作对。

传感器分辨率越来越高。 一颗 4800 万甚至 2 亿像素的传感器,单张写入的像素比几年前的 800 万、1200 万像素相机多得多。像素多,数据就多。1200 万像素的图大约有 1200 万个颜色值,4800 万像素的图在压缩前就是它的四倍。

HDR 和计算摄影叠加了更多信息。 手机常常连拍多张不同曝光再合成,然后做降噪和锐化。色调细节越丰富,越难压缩,存下来的文件就越大。

格式很关键。 JPEG 体积小但有损。苹果的 HEIC 和谷歌的新格式压缩效率更高,但你一分享,照片往往又被转回体积很大的 JPEG,甚至 PNG,体积立刻膨胀。PNG 尤其是为平色块图形设计的,不适合照片,用它存手机照片可能比实际需要大上两三倍。

所以「照片太大」通常是高分辨率传感器加上一个不给力的格式,共同造成的老实结果。

真正能缩小照片的两个杠杆

照片为什么这么大?教你把手机照片变小 — visual 2
真正能缩小照片的两个杠杆

你其实只有两个真正的控制项,把这两个都搞懂,问题就解决了一大半。

杠杆 改变的是什么 什么时候用
压缩(质量) 丢掉多少细节 几乎总是先用;第一个该试的
分辨率(尺寸) 图片有多少像素 当图片比它实际会显示的尺寸大很多时

压缩是温和的选项。把 JPEG 从最高质量降到 80% 左右,文件常常直接减半,而你的眼睛看不出区别。缩放是粗暴但有效的选项:一张 8000 像素宽的照片,放到网页、文档或聊天里根本用不着那么大,把长宽各砍一半,像素总数大约变成四分之一。

多数情况下先压缩,只有当文件还是太重、或尺寸确实过分时才缩放。

一步步把照片压小

下面这套流程既能保住画质,又能把体积降下来。

  1. 先压缩。把照片丢进 图片压缩,让它以合理质量重新编码 JPEG 或 WebP。它绝不会给你比原图更大的文件,所以试一下没有任何坏处。
  2. 看结果。如果一张 9 MB 的照片现在只有 2 MB 而且看起来一模一样,那就完事了。
  3. 如果还想再小一点,就缩放。用 图片缩放 把 6000 像素的图缩到比如长边 2000 像素。屏幕上看依然够清晰。
  4. 想要极限最小,把缩放后的图再压一遍。

所有处理都在你的浏览器里用 Canvas 和 WebAssembly 完成,照片绝不上传到服务器——当「大照片」是护照扫描件或孩子的照片时,这一点很重要。工具在首次访问后还能离线使用,所以在飞机上也能把一整个文件夹的度假照压小。

到底该压到多小

  • 邮件或聊天: 每张争取控制在 1 MB 以内。75%–80% 左右的质量在日常分享中肉眼看不出差别。
  • 网站: 缩放到版式实际使用的宽度(常见 1200–2000 px),再压成 WebP。可以看我们关于让图片加载更快的文章。
  • 打印: 保守一点。保留完整分辨率、只做轻度压缩,因为打印能吃下多出来的像素。
  • 归档原图: 留一份原封不动的副本,只压缩你要分享的那些副本。

如果有几十个文件,批量模式能一次压完整批,并打包成一个 ZIP 下载,不用一个个来。

一句话总结

你的照片大,是因为现代传感器捕捉了海量细节,而它们最后落到的格式往往效率不高。先压缩去掉浪费的部分,当尺寸超过图片实际会被看到的大小时再缩放,并且留好一份原图。两个杠杆,几下点击,存储告警就消停了。