手机拍的证件照要压到 20k 只有一个顺序:先把像素缩到报名要的尺寸,再降画质。缩放比例按「目标宽度 ÷ 原图宽度」算。比例低于工具允许的最小值时就分两遍缩。我试下来有三种做法:Mac 自带的预览一步填好像素再导出;图映 ImgIng 这类按百分比缩的工具分两遍压;或者先把尺寸缩好,再交给 iLoveIMG、docsmall 这类在线工具。三种都能做到 20k 以内。区别在能不能得到精确像素和照片要不要上传。
客户发来的照片十有八九是手机直接拍的,动辄几 MB。很多人的第一反应是把画质拉到最低,压完一看还是几百 KB。样本是维基共享资源上两张 CC BY-SA 4.0 许可的人像形象照。白底那张署名 Swedishfeesh。我按证件照比例把它裁成 2996×4200、6,535,784 字节,当作高像素的手机原图。蓝紫底那张署名 MichaelaTH,裁完是 1473×2065、592,678 字节的一张低像素照片。下面的「20k」都按 20,000 字节判,写成 KB、MB 的地方按 1024 字节换算,和图映界面显示的一致。
手机原图光降画质压不进20k
先算一笔账。2996×4200 一共是 1258 万多个像素。二寸的 413×579 只有 23.9 万个,一寸的 295×413 只有 12.2 万个。手机原图的像素是二寸的五十多倍、一寸的一百多倍。画质只决定每个像素花多少字节。像素数摆在那里的话再省也省不到 20k。
实测也是这样。白底原图在图映里选 JPG 并把画质拉到最低的 30,出来还有 669,160 字节(约 653 KB)。换 Mac 预览把质量拧到 10 也还有 674,244 字节。两个工具的结论一模一样:不先缩尺寸这事做不成。我现在跟客户解释时就拿这组数说话,画质拉到最低还剩六百多 KB,比讲道理管用。
缩之前先把比例裁对
我这两张样图是事先按证件照比例裁好的,所以后面直接缩就行。客户发来的手机照片多半不是这个比例,常见的是横拍或者 3:4 竖拍,人也不一定在正中间。这时候直接缩会出两种问题。按百分比缩的工具会保持原比例,宽对上了高就对不上。能填像素的工具,比如预览的调整大小,要是把「按比例缩放」那个勾去掉硬填两个数,人会被拉扁或者拉长。
所以手机原图我都是先裁再缩。在预览里用矩形选框框住头肩,框的时候头顶上方留一点空,下巴往下带上肩膀,再从「工具」菜单选裁剪。框的比例不用一次就准,裁完看一眼宽高,宽除以高跟目标尺寸差不多就行,差一点的交给最后那一刀精确裁。裁这一步别省,后面所有比例换算都是建立在它上面的。
还有一种情况是 iPhone 拍的照片存成了 HEIC。我这次两张样图都是 JPG,HEIC 没测。我的习惯是先在电脑上用预览打开,导出时直接选 JPEG,顺手把裁剪和缩尺寸一起做了,免得到了在线工具那一步才发现格式不认。
缩放比例按目标宽度除以原图宽度算
尺寸怎么缩我是直接拿计算器算的。想要一寸就用 295 除以原图宽度。想要二寸就用 413 去除。白底原图宽 2996:一寸要缩到 9.8%、二寸要缩到 13.8%。蓝紫底宽 1473:一寸正好是 20%、二寸约是 28%。
这个比例要和工具的下限对一下。图映的缩放滑杆最低只到 20%。白底那张算出来的两个比例都比它小,一次缩不到位。蓝紫底就没这个问题。我把它缩到 20% 并用画质 80,出来正好是 295×413、14,741 字节。缩到 28% 用画质 60 是 412×578、15,954 字节,也过了。
方法一用Mac预览一步改成准确像素
手上是 Mac 的话这是最省心的一条路。用预览打开照片后在「工具」菜单的调整大小里直接填目标像素,再从「文件」菜单导出成 JPEG 并拖质量滑块。它能直接填数字,像素要多少就填多少。全程不联网。
我按这个思路用系统自带的同一套编码把白底原图一步缩到 295×413,再一档档试质量。质量 60 是 23,346 字节没过,质量 50 是 18,070 字节就过了。蓝紫底缩到 295×413 后质量 60 就够,是 16,360 字节。缩到二寸 413×579 的话白底要降到质量 30(18,004 字节),蓝紫底用质量 40 是 16,711 字节。预览的质量刻度和别的工具不是一把尺,数字低一点也不用慌。Windows 自带的画图这次我没测。
客户一次发来五六张原图的话,预览也能少点几下:在左边栏把几张都选中,再用调整大小,填的像素会一起套到每一张上。前提是这几张已经各自裁成了同样的比例,比例不一样的混在一起改,总有一两张会被拉变形。所以我的顺序是逐张裁、一起缩、一起导出,导出完再逐张看字节数,超的单独把质量再降一档。这个多选的用法我平时修图常用,这次样图只有两张,没专门拿来测。
方法二在图映里分两遍缩
图映 ImgIng 是在浏览器里处理图片的网站,不用注册。整个过程我没看到它发出上传请求。它的缩放滑杆只显示百分比而结果卡片上才显示像素。白底这张我是这么走的:
- 载入原图后先把格式从默认的 WebP 改成 JPG,报名系统一般只收 JPG
- 缩放拉到最低的 20% 后点「转换并下载」,得到 599×840
- 这一遍不管画质设成多少都过不了线:80、60、40、30 四档分别是 78,715、48,477、34,617、27,691 字节
- 把这张 599×840 再载入,按 413 ÷ 599 算出 69% 并用画质 40,得到 413×580、18,355 字节(界面显示 17.9 KB)
- 想要一寸就按 295 ÷ 599 算出 49% 并用画质 70,得到 294×412、16,900 字节

这张截图拿一张二寸电子版演示,我想让你看的是最下面结果卡片那一行「413×579 · 原生 JPEG 编码」。缩放滑杆那里只有「100%」这样的百分比,输出到底多少像素只能在这一行看到。压两遍的时候我每一遍都盯这里:第一遍记下宽度 599,第二遍的比例就从它算。上面格式那一排选中的是 JPG,不是默认的 WebP。人像缩略图来源:Avital Ash headshot white / Swedishfeesh / CC BY-SA 4.0 / 经裁切压缩。
图映还有批量压缩,官网说可以选多个文件或整个文件夹。但它写明批量会保持原分辨率,缩尺寸这一步只能一张张来。批量功能我这次没测。另外它不提供「压到指定大小」这种功能。拖滑杆时文件大小也不会实时变化,要点了转换才看得到结果。
图映按百分比缩还有个躲不开的问题:像素会被四舍五入。上面几次结果分别是 413×580、412×578、294×412,没有一个正好是 295×413 或 413×579。报名页面只卡大小不卡像素的话这点差别无所谓。页面写死了像素的话我会先用预览把照片裁成准确的尺寸再拿去压画质。
方法三先缩好尺寸再交给在线工具
在线压缩工具本身都不太适合直接吃手机原图。TinyPNG 页面写着单张最大 5 MB,6.2 MB 的白底原图直接被拒。选中的文件也会传到它的服务器上。iLoveIMG 的压缩页没有改尺寸的选项,选完文件时照片就已经上传了。它另有一个调整大小的工具,那个我没测。docsmall 只有四个压缩档位,不能改尺寸。这两个工具我都没拿原图去试。
在线工具我只放在第二步用:先用预览或图映把尺寸缩好,再交给它们压大小。拿 413×579 的白底来说,docsmall 默认的「普通」档是 25,509 字节。换成「强力」档是 15,536 字节,过了。按它页面的说法图片在浏览器里处理,我看请求时确实没有图片发出去。只是每张图会多发一条带文件名和大小的统计请求。iLoveIMG 压同一张是 27,640 字节过不了,蓝紫底那张它能压到 18,186 字节。
一组十几张原图都缩好了尺寸以后,交给 docsmall 一次拖进去是最快的,它页面上写着一次最多 30 张、单个 25M 以内、不限次数,也不用登录。前提还是那一句:它只管体积不管尺寸,尺寸必须在前一步统一好。压完它给的是一批文件,我会按大小排个序,从最大的那张看起,超线的挑出来单独处理。
几种情况各用哪种
| 手上的情况 | 我会怎么做 |
|---|---|
| 手机原图、电脑是 Mac | 预览里直接填 295×413 或 413×579 再导出 JPEG 调质量 |
| 手机原图、不想装软件也不想上传 | 图映按目标宽度算比例,低于 20% 就压两遍 |
| 已经是照相馆给的电子版 | 不用缩尺寸,直接降画质,在线工具也行 |
| 报名页面写死了像素 | 先裁到准确像素,再压画质 |
| 一组原图要统一处理 | 尺寸逐张缩好以后再批量降画质 |
常见问题
只有手机,能直接在手机上压吗?
能。图映的图片压缩手机浏览器也打得开。我在电脑浏览器里把窗口切成 iPhone 13 的尺寸压过一张二寸电子版,画质 40 时同样是 17.8 KB。真机没试过。手机相册自带的编辑我也没测。
原图十几 MB,网页工具打得开吗?
看工具。TinyPNG 写着单张 5 MB 封顶,docsmall 写着单张 25M 以内。图映我只试过 6.2 MB 这一张,能正常载入。更大的没测。
下载下来的文件后缀是 .webp 怎么办?
回去把格式改成 JPG 重新转换一次。只改文件后缀不算转换,文件内容还是 WebP。系统要是按内容判断格式照样会拒。
压两遍会不会比压一遍更糊?
这一点我没专门量过。我的做法是第一遍别把画质压太低,降画质的活留给第二遍。两遍之间也不换格式,第一遍就选好 JPG,免得中间多转一次 WebP 再转回来,平白多一道有损编码。交之前再放大看一眼脸。