为什么到处都是 100KB 这条线
100KB 不是随便定的,它是早期带宽条件下形成的“通用安全值”:一张 100KB 的图,在 2G 网络时代也能几秒内传完。这个标准后来被大量政务系统、考试报名平台、人事档案系统沿用下来,一直没改。
所以你会遇到很具体的一幕:照片明明在手机里好好的,上传时系统弹一句“文件大小不能超过 100KB”,然后就卡住了。
麻烦在于,现在的手机随手一拍就是 3–5MB。差了三十倍,靠手动“另存为”根本调不准。
这个工具是怎么把图压到目标的
不是简单粗暴地把画质拉到最低——那样既可能压过头,也可能压不够。实际执行的是三步:
- 先用你设定的画质试一次。如果已经低于 100KB,直接交付,画质一点不动。很多小尺寸截图其实一次就过了。
- 画质逐档下调,找到“刚好达标”的那一档。这里用二分查找,而不是一档一档试,所以通常五六次就能定位到最优点——保证在不超标的前提下,画质尽可能高。
- 画质调到最低还超标,才缩尺寸。按比例缩到 82%,再重新走一遍上面的流程,最多八轮。这一步是真正解决问题的关键:很多时候体积压不下来,不是画质问题,是像素太多了。
顺带处理一个坑:如果你上传的是 PNG,它会被自动转成 JPEG。PNG 是无损格式,不吃“画质”这个参数,再怎么调也降不下来——这是格式特性,不是工具偷懒。
压到 100KB 到底会糊成什么样
说实话:取决于原图有多大。同样是 100KB,结果差别很大。
| 原图尺寸 | 压到 100KB 后 | 观感 |
|---|---|---|
| 1000×1000 左右 | 基本保持原尺寸,画质略降 | 看不出差别 |
| 2000×1500 | 缩到约 1700×1275 | 仍清晰 |
| 4000×3000(手机原图) | 缩到约 1300×975 | 屏幕看没问题,放大有噪点 |
| 6000×4000(单反/高像素) | 缩到约 1100×730 | 偏软,细节损失明显 |
结论是:如果你的原图特别大,100KB 会明显牺牲像素。但请想清楚一件事——报名系统只需要看清你的脸和证件信息,它不需要保留你可以放大到看清毛孔的细节。这个场景下,100KB 完全够用。
反过来说,如果要求是打印或者后期还要编辑,那就别压到 100KB,这不是该省的体积。
实在压不下去的三个办法
极少数情况下,压到最低画质、缩了八轮尺寸还是超。通常是这三种原因:
- 图片本身太“花”。 foliage、纹理、噪点多的照片(树叶、毛发、噪点夜景)压缩率天生低。解决方法是先轻微模糊一下背景,或者干脆裁掉不需要的部分——裁一半面积,体积直接减半。
- 你要的是透明背景。PNG 透明图转 JPEG 会变成白底。如果必须保留透明又必须小于 100KB,只能大幅缩尺寸,或者改用 WebP(见这里)。
- 系统算的是 1000 字节 = 1KB。有些老系统按 1KB=1000 字节算,而我们按 1KB=1024 字节算。也就是说,我们压出来的“100KB”实际约等于 102400 字节,比系统的 100000 字节宽松。为了安全,你可以直接填
97,留一点余量。