上传证件照,系统提示“图片不能超过 200KB”;把文件名里的 .png 改成 .jpg,重新上传还是超限。
因为扩展名只是文件名的一部分,不改变文件里的数据。真正决定体积的是三件事:有多少像素、用什么格式、压缩质量有多高。
体积是怎么来的:一个够用的估算
未压缩的位图体积等于宽乘高乘每像素字节数。一张 4000×3000 的 24 位照片,原始数据约 36MB;JPEG 能把它压到几 MB,是因为丢掉了人眼不敏感的高频细节。
换成目标倒推:200KB 约等于 164 万比特。
- 4000×3000(1200 万像素):平均每像素只有约 0.14 比特,任何编码器都做不好看
- 1600×1200(192 万像素):约 0.85 比特/像素,JPEG 中等质量可以达到
- 1000×1000(100 万像素):约 1.6 比特/像素,质量 0.7~0.8 很从容
- 证件照 295×413(约 12 万像素):200KB 非常宽裕,可以用较高质量
三步顺序,别倒着来
结论很直接:原图像素太多时,先缩尺寸,比死磕质量有效得多。具体按下面的顺序处理。
- 第一步 降尺寸:把最长边缩到实际需要的像素。头像通常 500~1000px 足够,证件照按系统要求,比如 295×413、358×441
- 第二步 换格式:照片用 JPEG 或 WebP;图标、截图、纯色块用 PNG。照片存 PNG 是浪费体积,图标存 JPEG 会出现边缘噪点
- 第三步 调质量:JPEG 质量 0.7~0.85 通常肉眼难辨差异;低于 0.6 开始出现块状噪点和文字发虚
为什么改后缀、重命名都没用
扩展名只是告诉系统“用什么程序打开”,不参与数据编码。把 photo.png 改名成 photo.jpg,文件里仍然是 PNG 数据,体积一个字节都不会少;有些系统还会因为内容与扩展名不符而打不开。
同理,文件属性里改单位、改日期,也都不会改变体积。顺序反了还会更糟:先把质量拉到 0.3,发现尺寸还是太大再去缩图,等于白牺牲一次画质。要变小,必须重新编码。
几个容易忽略的细节
站内图片压缩保持原格式重编码,质量可调 0.1~1.0;PNG 的压缩空间有限,要更小就先用批量处理转成 JPG,并设置最长边上限。
- PNG 是无损格式,压缩率有限;照片类内容转 JPEG 往往能小一个数量级
- WebP 在同等观感下通常比 JPEG 再小 25%~35%,但部分老系统和报名网站不认
- 渐进式 JPEG 只是加载方式不同,体积略小,不是主要压缩手段
- 元数据(EXIF、缩略图)通常占几十 KB 到上百 KB,清掉有帮助,但救不了大图
- 聊天软件发的图多数被重压过,别拿“发送后的图”去交材料,清晰度和信息都不完整
常见问题
压缩后图片变模糊了,还能恢复吗?
不能。有损压缩丢弃的细节无法还原,只能从原图重新压。所以处理前先留一份原图。
200KB 是按 1024 还是 1000 算?
多数系统按 1KB=1024 字节校验,但不同平台有差异。保险起见按更严格的算,并留 5% 余量,比如控制在 190KB 左右。
PDF 里的图片怎么压?
用 PDF 压缩,它通常只重采样内嵌的大图,文本和矢量内容不受影响,比先导图再压更省事。