20KB 是个很小的目标。它通常是考试和政府门户对扫描签名、小尺寸证件照的限制;如果不先把尺寸降下来,全分辨率的相机照片是达不到的。
20KB 大约是两万字节的编码数据。一张 200x230 的证件照约 4.6 万像素,压到 20KB 毫无压力。而一张 4000x3000 的手机照片有 1200 万像素,20KB 摊到每个像素不到 0.02 字节——没有任何编码器能在可用画质下做到。我们仍会输出能做到的最小文件并标注未达到目标,但对大图来说,诚实的答案是先把尺寸降下来。
这个页面的建议和别的页不一样:在 20KB 这个量级,我们的第一建议是缩尺寸,而不是继续往死里压。先把图缩到表单真正要求的尺寸(常见是 200x230 或 300x300),再回来设 20KB。
先去调整图片尺寸无需专业技术知识,免费快速的在线图片处理工具,电脑手机全设备均可使用
我们在每个细节都做到极致,用技术保障每一次处理
20KB 这个天花板几乎完全来自表单上传的惯例。考试报名系统和政务服务会对照片和签名分别设限,而签名那一档往往更紧:10KB 到 20KB,通常还附带固定尺寸。这些系统当年是按慢网速和小存储预算设计的,限制一直没有放宽过。
这也是 20KB 值得单独一个页面、而不是当成一个普通数字的原因:20KB 的建议和 100KB 的建议是两回事。100KB 你直接压就行,20KB 通常得先缩尺寸再压。一个只会让你「再试试」的工具是在浪费你的时间。
我们不会缩放图片,也不会转成别的格式。做法是对编码质量做二分搜索:编码、测量、调整、再编码,直到结果刚好落在你给的数字之下。因为这一步跑在服务端、用的是真正的编码器(pngquant、cwebp、gifsicle、libjpeg)而不是浏览器 canvas,所以在放弃之前能往下探得比浏览器端工具更深。目标体积模式支持 JPG、PNG、WebP、GIF、HEIC、JXL、JP2、JXR,其余格式会回退到常规的按质量压缩。