这个页面的代码没跑起来。 直接从文件夹里打开 index.html,浏览器会拦下 JavaScript 模块,于是你选好一张照片之后,页面不会有任何反应。改用 http 把这个文件夹提供出去:
powershell -ExecutionPolicy Bypass -File serve.ps1
然后打开 http://localhost:8080/。
1 选好照片
你浏览器能打开的任何图片都行。白天对着一面素净的墙、从大约一米半外用手机拍的那种,正是这些规定当初设想的样子。照片直接从你的磁盘上读,不会发到任何地方。
3 标出脸,检查构图
头顶、下巴,还有左右瞳孔。规定要量的全部就是这四个点,裁切框取自它们最后停在哪里——哪个落偏了就拖回来,然后按套用裁切框。找这四个点,靠的是量这张照片本身:你的头在背后那面墙前的轮廓,以及眼睛所在的那两块偏暗的地方。里头没有模型,也不去取任何东西;它是个起点,不是判决——所以改它是你的事,下面那行也会说清楚四个点里哪一个它量不出来。
照片旁边那块就是裁切结果本身,按规定要的形状,上面什么都不画。文件就长这个样子;取景不对的话,在那里就已经看得出来,用不着等下载完。
选好一张照片,裁切框就会出现在这里。
4 背景
取自裁切框顶部的一条带子,以及两侧肩膀以上的部分,也就是画面里本该只有背景的地方。在 CIE Lab 里测量,而不是在 RGB 里,因为相差四十个 RGB 单位的两种灰根本分不出来,而四十个单位的蓝就是另一种颜色了。
5 保存
ICAO 标准 任何生物特征旅行证件 机读采集图 35 x 45 毫米这个画幅是世界上大部分地方签发证件所依照的,头部高度占七到八成、眼睛落在画面高度一半到五分之三之间,则是下面每一条规格都由此变化而来的几何。 Doc 9303 还要求存下来的图里两眼中心之间至少 90 像素,从现在的手机照片里裁出 413 x 531 轻松就能达到。 美国 护照和绿卡 在线上传照片 正方形,而且是广泛使用的唯一一种正方形护照照片:2 x 2 英寸,也就是 51 x 51 毫米。 头部可以落在 25 到 35 毫米之间的任何位置,比 ICAO 的规定宽松得多;眼睛的位置也是从下边缘量起,而不是按比例。 上传那条现在只管文件大小:54 KB 到 10 MB,JPEG、PNG 或 HEIC 都行。以前写的像素尺寸和 240 KB 上限都没了,眼线也没了——这里写出的正方形就是 300 dpi 下的 2 x 2 英寸打印尺寸,区间内更大的正方形一样可以。 多元化签证抽签报名 Entrant Status Check 上传 跟上面护照那条是同一张照片,但报名表只收一个尺寸,别的都不行:正好 600 x 600 像素,最多 240 KB。 因为照片被退回的报名不会给你改,而是直接作废——所以这一条值得做到分毫不差,而不是差不多。 英国 护照 在线申请用的数码照片 头部从下巴量到头顶,必须在 29 到 34 毫米之间——明显短于 ICAO 的区间,所以按 ICAO 规则裁好的照片在这里可能因为头太大而被退回。 数字规则不但有上限还有下限:低于 50 KB,上传会因为文件太小被退回。 申根区 签证申请 每个申根领事馆都在用的通用签证格式:35 x 45 毫米,脸部占画面高度的七到八成,也就是 32 到 36 毫米。 各领事馆对背景的接受程度不一样。素净的浅灰没人退;带阴影的白墙大多数都退。 德国 护照和身份证 Bundesdruckerei 的证件照模板要求在 35 x 45 毫米的画幅里脸高 32 到 36 毫米,眼睛落在上三分之一。 2025 年起照片一般在签发窗口现场拍摄,或者由照相馆以电子方式送过去,所以在这里做出来的相纸是给那些还收纸质照片的申请用的。 加拿大 护照 形状上的异类:50 x 70 毫米,比这里任何一种都更瘦长,所以为别的国家裁好的图放不进去。 脸高从下巴到头顶 31 到 36 毫米。加拿大没有公布眼睛位置,所以这里显示的区间是按头部居中于画幅推出来的;当作参考,别当成规定。 照相馆必须在背面印上日期和影楼名称,这件事没有哪个工具能替你做。 澳大利亚 护照 35 x 45 毫米的相纸,素净的浅色背景,脸部从下巴到头顶 32 到 36 毫米。 纸质申请要交两张相纸,下面的整版导出正是为这个准备的。 印度 护照 Passport Seva 要求素净白背景上的 2 x 2 英寸照片,跟美国用的是同一个画幅。 大多数印度表格说的「护照尺寸」指的是 35 x 45 毫米的相纸,它在这份清单里另有一条——两者不能互换。 贴在表格上的护照尺寸相纸 银行、学校或者政府表格让你贴一张「护照尺寸照片」时,说的就是这个:35 x 45 毫米,白背景,头和肩。 没有哪个机构为这个公布过头部高度区间,所以套用了 ICAO 的并作为参考显示。没人会拿尺子量这种照片。 IBPS 线上申请照片 在线申请照片 所引用的 IBPS CRP PO/MT XIII 公告建议使用 200 x 230 像素,并要求 JPEG 文件在 20 到 50 KB 之间。本预设输出建议尺寸。这是该考试公告的示例;使用前请阅读你本次申请的最新公告。 头肩的取景是用文字描述的,不是量出来的,所以这里的区间是从表格上的示例图里推出来的参考值。 没有打印尺寸,因为根本没有要打印的东西:这是给网页表单用的文件。整版导出在这一条下是关掉的。 IBPS 线上申请签名 在线申请签名 在白纸上用黑色墨水签名。所引用的 IBPS 公告建议使用 140 x 60 像素,并要求 JPEG 文件在 10 到 20 KB 之间。本预设输出建议尺寸;具体要求请以本次申请公告为准。 这一条会关掉头部和眼睛的叠加。改为检查纸是不是浅色、上面有没有墨、以及墨会不会淡到让表单读成一张白纸。 签名裁成 140 x 60 是 8400 个像素。这条规格难的是够到 10 KB,而不是不超过 20 — 见页面上关于填充的说明。 中国 护照和签证 在线签证申请上传 33 x 48 毫米的画幅,比几乎其他所有地方用的 35 x 45 更窄,头部从下巴到头顶 28 到 33 毫米。 上传不但有上限还有下限——在正好 354 x 472 像素下是 40 KB 到 120 KB,也就是同一个画幅按 272 dpi 算出来的。 日本 护照 35 x 45 毫米的相纸,脸部从下巴到头顶 34 毫米、上下 2 毫米以内,头顶上方留 4 到 6 毫米空白。 头顶上方的留白在这里是单独一条规定,而不是由头部高度推出来的,所以显示的眼睛区间只是参考。 别的任何地方 数字自己填 表格要什么就是什么 这一条里每个数字都能改。照着你面前那张表格填,叠加图、相纸和文件大小的搜索都会跟着它走。 它从 ICAO 的几何起步,因为上面清单里没有的国家用它的可能性远高于别的任何一种。 有一个国家地区符合。 有 {n} 个国家地区符合。 没有符合的。试试这个国家地区自己的叫法,或者选“别的任何地方”再自己填数字。 {width} x {height} 毫米 {width} x {height} px {print} · {upload} 眼睛 下巴 {title} 下载 法国 意大利 荷兰 西班牙 爱尔兰 波兰 护照 护照和身份证 护照、身份证和驾照 背景读出来是 {hex},就是白色或跟白色差不多——而这条规定不收白底。 素白或浅灰 素白或浅灰 两种都算过。这里量的是墙,不是相纸;一面光线均匀的白墙拍出来本来就是浅灰,所以两种都在单子上。 白、浅灰或浅蓝 白、浅灰或浅蓝 三种都行,只要整张图里是同一个平匀的色调。浅蓝在单子上,是因为它能把浅色头发跟背景分开——这才是这条规定真正在做的事。 白、浅灰或米白 白、浅灰或米白 三种都行。米白读起来是偏暖的调白;不合格的从来不是色调,而是墙上有影子、有纹理或者有道门框。 浅灰或浅蓝——不能是白 浅灰或浅蓝,且不能是白 这是这里唯一一条拒绝某种颜色、而不是要求某种颜色的规定。白底直接被退,所以“找面白墙站着拍”这句常见的建议,对这一条来说是错的。 这条规定量的是到头颇顶端的高度,不算头发。这里的标记点找的是头发的顶端,因为照片上有的就是头发;所以头发多的人量出来会偏高——往区间的下半段取。 这一条没公布头高区间,所以这里放的是 ICAO 的数字,且从不当作不合格标红。按规定的文字描述取景,数字自然就对了。 这一条没公布头高区间,画幅也不是常见的那种,所以 ICAO 的数字套不上。这里显示的是根据规定的文字描述读出来的一个宽松区间;它只是参考,从不当作不合格标红。 没公布眼线。这里显示的区间,是头部居中时眼睛会落在的位置——是参考,不是要求,也从不标红。 照片必须由持证摄影师拍,或者在持证的自助拍照亨里拍。所以这里出的相纸,是用来核对人家拍的那张对不对,而不是拿去交的。 意大利只公布了宽度,别的都没:35 到 40 毫米,脸占其中的 70% 到 80%。高度哪里都没写,所以这里用的是意大利自助拍照亨和照相店在卖的 35 x 45。 头高区间是 26 到 30 毫米,比听上去短:只占画面的 58% 到 67%,而 ICAO 要 70% 到 80%。按 ICAO 裁出来的图,对荷兰的申请来说太紧了——这一条就是拦这个的。 还有两个公布的数字只读不用:脸宽要 16 到 20 毫米(不算耳朵),11 岁以下的孩子头高可以低到 19 毫米。400 dpi 的下限,就是这一条比其他打得大的原因。 根本不是 35 x 45。西班牙的照片是宽 26 毫米、高 32 毫米,法规里写作“32 x 26 毫米”——拿一张欧洲护照照到西班牙窗口,尺寸是错的。 纸质申请要四张一模一样的相纸,其中两张背面要由见证人签字盖章。35 x 45 到 38 x 50 毫米之间都收;这里用小的那个,因为自助拍照亨出的就是它。 网上办是另一回事。那个表单要的是一张更宽的照片——从头到胸,至少 715 x 951 像素——并且它自己会裁;所以它要的是你最初那张图,不是这里裁过的。 波兰把眼线按距下边缘的毫米数公布出来,这么写的几乎没别家:20 到 30 毫米。它还写明,头发多的时候发型可以有一部分落在画面外,只要脸本身没因此变小。 韩国 新加坡 新西兰 网上申请用照片 照相馆 照相馆按这个名字卖的尺寸,不是公布的规定 这个尺寸没有人公布。它就是照相馆、表单或单位报名字要的那个,所以画面尺寸是对的;头高区间用的是 ICAO 的,只作参考,从不当作不合格标红。 韩国查两件别处几乎不明写的事:背景不允许用软件抠掉或换掉,以及头高量到头颇顶端、不算头发。网上表单建议 413 x 531 像素,就是这个尺寸在 300 dpi 下的像素数。 新加坡公布的是上传那一项:400 x 514 像素,最大 8 MB,白底,而且要求三个月内拍的——不是通常的六个月。毫米数哪里都没写;400 x 514 正好是 35 x 45 的比例,这个打印尺寸就是这么来的。 这一条故意没有打印尺寸。新西兰要的是数字照片,并且明写扫描的相纸不收,所以整版输出在这一条上关掉了。 形状是 3:4,不是欧洲相纸的 35 x 45;文件两头都有限:250 KB 到 5 MB,至少 900 x 1200 像素,最多 4500 x 6000。 一寸照片 表单上说的“一寸”就是这个:25 x 35 毫米。它不是旅行证件的尺寸,办护照用不了——它是给学校表格、工作证以及那些要贴照片的表单用的。 二寸照片 表单上另一个按名字要的尺寸:35 x 49 毫米。注意护照用的 33 x 48 毫米常被叫作“小二寸”,又是另一个尺寸;它在上面有自己的一条。 日本简历照(履歴書) 日本简历上那个贴照框用的 30 x 40 毫米照片。不是护照尺寸——护照是 35 x 45,在上面有自己的一条。 韩国半名片照(반명함) 韩国表单和求职按名字要的 30 x 40 毫米相纸。护照是 35 x 45,是另一回事;它在上面有自己的一条。 瑞士 瑞典 挪威 葡萄牙 素净而浅——没公布颜色 素净而浅 这条规定只要求背景素净、光线均匀,从没说是哪个颜色,所以这里的检查放得很宽:白、浅灰、浅蓝、米白都算过。拒一面人家并没拒的墙,就是这个工具在自己编要求。 这一条没有任何人公布毫米数。这里的画幅用的是世界上大多数地方签发所用的 35 x 45 毫米,区间用的是 ICAO 的,只作参考,从不当作不合格标红。拿它看一张照片像不像样就行,别拿它去满足一条根本没有数字的规定。 照片是在你递申请的地方当场拍的,不是自己带去的。所以这里出的相纸是用来核对的——以及给那些确实还要照片的表单、签证和申请用。 fedpol 公布的是一张例图表,对的错的都有,上面没有任何一个尺寸:过曝、脸太小、张嘴、手挡脸、头偏过去、闭眼、头发遮脸。 瑞典是在你递申请时由护照办公室当场拍,而且明说这是法律而不是偏好:这样质量有保障,也杠死了拿别人的照片去办护照这条路。 挪威是在生物特征自助机上拍,不收照相馆或自助拍照亨拍的照片——只有一个例外,应急护照反而要你自己带。它公布的要求在不给尺寸的前提下反而很具体:头部大约占画面的 70%,两只耳朵都要看得见,眼镜要摘掉。 葡萄牙根本没公布尺寸,公民卡和护照都没有,而且两样都要人到场办。这里的护照尺寸相纸,就是领事馆在确实要照片时要的那个。 香港 台湾 越南 菲律宾 巴西 墨西哥 土耳其 南非 阿联酋 比几乎所有地方的都更宽更高:40 x 50 毫米,里面还是通常的 32 到 36 毫米头高,所以脸周围留的空间比 35 x 45 多。照片是激光雕刻上去的,所以太深和太浅的衣服都不建议穿。 护照(网上申请) 这不是把相纸换个分辨率。网上表单要至少 1200 x 1600 像素,是 3:4,而相纸是 4:5;JPEG,不超过 5 MB——所以它是单独一条规定,没有东西可打印。 这条规定把别处只是暗示的事明说了:手机自拍会镜像、会因广角变形,会被退回补件;影像在打印前不得重新取样;两只耳朵的轮廓都要看得见。上传要 JPEG,至少 413 x 531 像素,不超过 5 MB。 4 x 6 厘米的相纸——比例上比 35 x 45 更高,按别国裁的图放不进去——白底,不戴帽,不戴有色眼镜。要两张,而且规定写明应在出入境管理机关认可的照相馆拍。 菲律宾会在预约办理时拍摄护照照片。菲律宾驻罗马大使馆公布了着装和采集要求,包括不能戴耳环或彩色隐形眼镜,但没有给出照片尺寸。请查看你实际办理机构的说明。 巴西的 5 x 7 厘米是给国外领事馆和五岁以下的孩子用的。在巴西国内,联邦警察会在窗口给五岁以上的人当场拍;以前护照用过的照片不收。 这里有三点比一般严:照片不能超过三十天;眼镜一律摘掉;灰色背景被明确列为拒收理由——必须是白底。 不是 35 x 45,而且机构自己就这么写:生物特征照片是 50 x 60 毫米,要提醒摄影师不要裁小。尺寸或背景不对,申请就办不完,或者证件在事后质检时被作废。 头高 29 到 34 毫米,跟英国要的一样,比欧洲大多数地方短——而且照片不能超过一个月。办智能身份证的办事处会自己拍;相纸是给其余办事处用的,宣传单还提醒家里打印的多半质量不够。 阿联酋只公布了宽度、没有高度——35 到 40 毫米,脸占照片的 70% 到 80%——所以这里用的是当地照相馆在卖的 35 x 45。背景只描述为素净的浅色。 巴基斯坦 孟加拉国 印度尼西亚 以色列 埃及 尼日利亚 用这里做出来的任何东西之前,先读这一条。巴基斯坦要的是专业拍摄的照片,并且明写“从大图里裁下来的”或用软件编辑过的不行——而裁切恰恰就是这个。拿它来核对照相馆拍的那张是否满足 29 到 34 毫米的头高和白底;上传最大 5 MB,没有写像素尺寸,所以写出的是 300 dpi 下的打印尺寸。 孟加拉国的电子护照申请根本不贴照片:门户网站写明不需要照片,也不需要认证,因为照片是在护照办公室做生物特征采集时当场拍的。唯一的例外是六岁以下的孩子,它有单独的一条。 护照(六岁以下儿童) 六岁以下的孩子不在办公室采集,所以改为交一张照片——而且不是护照尺寸的。规定要的是 3R 冲印相纸,三英寸半乘五英寸,灰色背景;脸由办公室自己裁出来,所以这里的头高区间放得很宽。 印度尼西亚会在移民办公室拍摄照片并采集生物特征。茂物办公室将这一步安排在 M-Paspor 预约和材料核验之后,但没有公布照片尺寸。请遵循你实际办理办公室的说明。 跟美国的一样是正方形,只是更小:5 x 5 厘米,白底。它用于在国外申请的护照或临时护照——在以色列国内,照片是在护照办公室当场拍的,只建议给六岁以下的孩子带相纸,因为他们在那里不好拍。 埃及各使领馆在“三张照片、白底”上一致,在尺寸上并不一致。伦敦领事馆只说要护照照片,没给尺寸;华盛顿使馆要 2 x 2 英寸,也就是这份清单里美国那一条。打印之前,先问你要递交的那个使领馆。 本预设记录的是门户的 600 x 800 像素上传要求,白色背景,小于 2 MB。来源于 2026 年 9 月 19 日核对;这里无法再次核对当前门户的尺寸说明。申请前请使用其照片合规检查,并阅读当前说明。正式照片由移民办公室拍摄。 马来西亚 泰国 阿根廷 沙特阿拉伯 电子签证 马来西亚的相框比常见的高五毫米,里面的脸却更小:35 x 50 毫米,脸长 25 到 30 毫米——占高度的五成到六成,而世界上大多数地方要的是七成到八成。按别的国家裁好的照片,这两项都过不了。两张相纸,白底,不能有阴影。 外籍人士准证(ESD Online) 跟马来西亚护照一样是 35 x 50 毫米的相框,头却更大——30 到 35 毫米,护照是 25 到 30——所以一次裁切不能两用。上传文件不得超过 25 KB,这很小,所以这里写出的文件会一直压缩到放得下为止。该页面列出的两种申请都接受白底,蓝底只有其中一种接受,所以这里按白底检查。 泰国是自己拍:在护照办公室或使馆,连同指纹和虹膜扫描一起采集,所以不用带相纸,也没有公布尺寸。使馆对当天只提了一条要求:不要戴彩色隐形眼镜。 泰国电子签证公布的是:头高约占高度的 70%,竖版照片,素净的白色或米白色背景,JPEG 不超过 3 MB——没有像素或毫米尺寸。这里写出的是常见的 35 x 45、300 dpi,因为总得有个形状;门户网站提供一张示例照片可供对照。 阿根廷护照由 RENAPER 根据预约当天采集的生物特征签发——领事馆就在柜台当场采集——所以什么都不用带,也没有公布尺寸。只有紧急护照或临时护照才要相纸,它有单独的一条。 紧急护照或临时护照 正方形,而且小:4 x 4 厘米,正面,白底,“medio busto”——肩膀要入镜,所以头比护照裁切里的小。不能戴帽子,眼镜一律不行。这是护照在国外遗失或被盗时领事馆要的照片;亚松森领事馆还补充:要彩色、哑光相纸。 沙特旅游电子签证要的是正好 200 x 200 像素的正方形,5 到 100 KB,白底,脸占画面的 70% 到 80%,两只耳朵都要露出来。同一句话里还用英寸给了头的大小,而一个 200 像素的文件谈不上英寸;这里按百分比来。这么小的尺寸只剩下一张脸,所以请从一张清晰的照片开始。 签证 白色或素净的浅色 白色或素净的浅色 这条规定接受白色或任何素净的浅色,没有指定哪一种,所以这里的检查放得很宽:白、浅灰、浅蓝、米白都算过。 相纸跟护照一样是 2 x 2 英寸,有两点不一样。签证照片现在完全不许戴眼镜,除非有签了字的医疗证明。DS-160 的上传是 600 到 1200 像素的正方形,最大 240 kB——而网上换发护照最大可以到 10 MB,所以给其中一个做的文件会被另一个拒收。该页面在“一英寸”旁边把头高写成了“22 毫米”;它自己的构图模板写的是 25,而且仍然公布了护照规定已经删掉的眼睛高度——距底边 28 到 35 毫米。 永久居留与枫叶卡 这里的照片可以是十二个月内的,而几乎所有别的规定都是六个月;背景只能是白色——页面特别提醒不要穿白衣服,会融进背景里。网上申请交一个文件,715 x 1000 到 2000 x 2800 像素,最大 4 MB;用手机翻拍纸质照片会被拒,正经扫描的则可以。纸质申请交两张相纸,在家打印的不收。 入籍 用上传文件之前先读这一条。网上申请时,加拿大要的是“直接从相机保存、未经任何改动”的文件——而裁切就是改动,所以请用这里来核对摄影师给的文件,以及制作纸质相纸。它写的最低 420 x 540 像素,跟它自己 50 x 70 毫米的画幅不是一个形状;420 x 588 才是,而且两个数字都满足。建议大小约 240 kB,上限 4 MB。 访客签证(临时居民签证) 加拿大唯一用普通画幅的照片:护照、枫叶卡和入籍都是 50 x 70 毫米,这一条是 35 x 45——规定的原话是“至少”——头高同样是 31 到 36 毫米,所以头在画面里占得多得多。两张相同的相纸;黑白和彩色都收。 签证纸质照片 这是 Home Affairs 的 47OF 表格规定的纸质照片尺寸:35 x 45 毫米,头和肩正对相机,背景单一,背面写上姓名。表格没有给出头部尺寸。使用前请查看你申请的签证类别清单;线上申请可能要求不同的电子照片。 入籍(纸质申请) 眼镜要摘:仅仅视力不好不算保留眼镜的理由。画幅从 35 x 45 到 40 x 50 毫米都可以,里面的脸同样是 32 到 36 毫米。内政部还写明,出于图像质量的考虑,它不建议用网上证件照服务或手机应用来做这张照片——所以交之前,请把这里做出来的照片跟它给的示例对一对。 入籍(网上申请) 网上申请的照片是 70 KB 到 3.5 MB 的 JPEG,首选 1200 x 1600 像素——三比四,而纸质相纸是七比九,所以它单独成一条,也没有可打印的东西。扫描件或翻拍的纸质照片不收,眼镜要摘;内政部也不建议用网上照片服务或应用来做:请把结果跟它给的示例对一对。 普通线上签证申请的官方上传手册要求正方形 JPEG,每边 350 到 1000 像素,10 到 300 KB。本工具输出 350 x 350 像素。电子签证另有选项,文件大小限制也不同;如申请表的说明有变化,请以申请表为准。 电子签证说明要求正方形 JPEG,10 KB 到 1 MB,全脸正面、睁眼、不戴眼镜,背景为单一浅色或白色。该说明页没有规定像素尺寸;600 x 600 是本工具的输出预设,仅作指导。请查看当前申请页面的照片说明。 俄罗斯 护照(十年期,生物识别) 十年期生物识别护照根本不用交照片:照片由领事处当场拍摄。公布的只是不能怎么穿戴——不能戴有色眼镜,不能穿制服——以及只有出于宗教原因、且不遮住脸部轮廓时才可以戴头巾或帽子。六岁以下的孩子也得在那里配合拍照,所以建议给他们办五年期护照。 护照(五年期) 还要交相纸的是旧式的五年期护照:三张相同的 35 x 45 毫米照片,严格正面,白底,不能有条纹、污点或阴影,脸和肩膀上部居中,脸占 70% 到 80%。黑白和彩色都收。不能戴有色眼镜,不能穿制服。 丹麦 驾驶证 身份证 医保卡 驾驶证(北爱尔兰) 北爱尔兰有自己公布的规定;大不列颠的 DVLA 只要求“一张近期的护照式打印照片”,那就是护照那一条。这里照片不能超过一个月,浅灰或米色背景,彩色;页面还写明不要把相纸裁成 45 x 35 毫米,而且在家打印的多半不够好。网上申请又是另一回事:“不要裁剪你的照片——会有人替你裁”,所以那一张请直接交相机拍出来的原图。 德国医保卡上的照片不要求是生物识别照,而且每家法定保险公司各有各的写法;这里用的是 Techniker Krankenkasse 的。35 x 45 毫米,彩色或黑白都行,背景“尽量中性”,不戴帽子,数字照片至少 300 x 400 像素,JPG、PNG 或 BMP。上传前先看你自己那家保险公司的页面:有的改在自家应用里拍。 电子身份证公布了意大利护照没有公布的东西:脸占高度的 70% 到 80%,眼睛高度在底边以上 23 到 31 毫米,纯色背景,最好是浅蓝、米色、浅棕、浅灰或白色。它还写明照片不得为了去掉背景或把头摆正而裁剪,也不得修图——所以请在拍的时候就端正,这里只用来修边。 交通部的通函把尺寸写成一个范围:高 40 到 45 毫米、宽 32 到 35 毫米,头部则写了两遍:正文里是高度的 60% 到 90%,图下面是 28 到 32 毫米。毫米数落在百分比以内,这里按毫米来。背景最好是浅灰、米色或浅蓝,否则用白色;建议用哑光相纸;同一份申请交的几张照片必须一模一样。 跟 DNI 一样是小小的 32 x 26 毫米,彩色,纯色背景——DNI 要求白色,这一条只要求素净。自 2024 年 11 月 6 日起,交通总局手里已有照片的就不再要;在体检中心办换证的,由那里当场拍。这一条是给剩下的那些情形用的。 用上传文件之前先读这一条。波兰允许以文件形式交照片,而且精确到像素:480 x 615,最大 100 KB,压缩质量不低于 80——并且必须是带 EXIF 头、头里写明拍摄日期的 JPEG。这里写出的文件尺寸和大小都对,但没有 EXIF 头,所以请用它来看怎样才合适,实际交相纸,或者交一张由会写日期的相机拍出的文件。 身份证可以在网上申请,文件至少 492 x 633 像素、最大 2.5 MB,这里写出的上传文件就是它。护照不行,十二岁以下的孩子除外,那种要 768 x 1004。 瑞士的护照没有公布数字,驾驶证却有:脸长 29 到 34 毫米,纯色、中性的背景,要彩色——尽管驾驶证上印出来是灰的——而且不超过一年。无白边,用光滑的高光或半哑光相纸,四角要是直角——圆角的相纸会被拒收。 瑞典这一条量的是瞳孔到下巴尖,14 到 17 毫米,这两个距离本工具都不量;对大多数脸来说,相当于头高 31 到 37 毫米,所以这里显示的区间落在它里面。一张相纸,整齐地裁成 35 x 45 毫米,圆角或直角都行,浅色背景,不能有阴影。黑白也收——不管交什么,驾驶证上都印成黑白——不能戴帽子,也不能戴有色眼镜。 丹麦量头是量到头发顶端,30 到 36 毫米,本工具正好也是这样量的,所以不用换算。素净的浅色背景——它举的例子是浅蓝和浅灰——头发花白、浅色,或戴浅色头巾的,要用对比鲜明的背景。彩色或黑白都行。 居留卡 纯蓝色 纯蓝色 这条规定要的就是蓝色,但没有公布是哪一种蓝,所以这里的检查放得很宽。它还要求背景是真实的,不能是后期换上去的;这里从不改背景,所以请站到一面蓝墙或一块蓝布前面拍。 身份证照比任何护照尺寸都小:26 x 32 毫米,白色背景、无边框,头部约占照片的三分之二,两耳根之间的脸宽 15 毫米,上下差一毫米。不穿制式服装,不穿白色上衣;常戴眼镜的人应戴着眼镜拍。大多数派出所是自己拍,或者让你去指定的照相馆——打印之前先问一声。 驾驶证用的“一英寸”照片是 22 x 32 毫米,比这份清单里照相馆的一寸要窄:头部长 19 到 22 毫米、宽 14 到 16 毫米,白色背景,彩色,六个月内拍摄,不穿制式服装。这是北京交管部门的数字;其他城市公布的也是这个尺寸。 个人编号卡(マイナンバーカード) 邮寄申请交的是 45 x 35 毫米的相纸,背面写上姓名和出生日期;网上申请交的是 RGB 的 JPEG,20 KB 到 7 MB,每边 480 到 6000 像素,没有规定形状——这里写出的用的是相纸的比例。示意图上 34 毫米(上下差两毫米)的脸长标明只是参考,所以这里也按参考显示。黑白照片也收。用修图软件处理过的图片可能被拒收,请对照网站上的示例检查。 比护照照片小,而且有自己的数字:30 x 40 毫米,头高 25 毫米(上下差三毫米),从头发顶端量到下巴,头顶上方留 5 毫米。不戴帽子,无背景、无阴影,六个月内拍摄,背面写姓名。任何情况下都不接受修图,也不接受左右颠倒的照片——手机前置摄像头不特意关掉的话,存下来的正是这种。 驾驶证上的照片由工作人员现场拍。这一张是 24 x 30 毫米,贴在申请书上:不戴帽子,正面,上半身,无背景,六个月内拍摄。自带照片只有在部分考试场才会被用在证件上,而且必须是相纸。 相纸跟护照一样,头顶到下巴 32 到 36 毫米,白色背景,只收印在相纸上的,不能露齿,不能修图。网上申请的规定精确得少见:JPG 最大 500 KB,要求 413 x 531 像素,超出 395 到 431 乘 507 到 550 的一概传不上去。 住民登录证用的是护照的 3.5 x 4.5 厘米,并且写明按护照规格拍的照片两样都能用。它的背景规定是两者里更宽松的——无背景,或最好是白色,浅的单一颜色也可以——而且没有给出以毫米计的脸部大小。 头高跟台湾护照一样是 32 到 36 毫米,白色背景——但照片可以是两年以内的,而护照要求六个月。一张薄光面相纸,背面写姓名、身份证号和拍照日期;或者交 JPG,至少 413 x 531 像素,最大 5 MB。不能戴有色隐形眼镜,不能修图,也不能用镜像照片。 用于网上换领或补领驾驶证:3 x 4 厘米的照片,白色背景——不管某个省的页面怎么写蓝色,警方的门户网站写的是白色——至少 473 x 630 像素,最大 700 KB。避免穿白色和黑色衣服,头部倾斜不超过五度,厚框或深色眼镜要摘掉。 网上续办 SIM 要正好 480 x 640 像素、最大 100 KB,蓝色背景。不能戴眼镜和隐形眼镜,不能戴任何头饰,不能戴蓝色头巾——会融进背景里——而且要原始文件,不能翻拍相纸。首次申领是在办公室现场拍。 一张 25 x 32 毫米的彩色照片,白色背景——跟马来西亚护照的 35 x 50 完全不是一回事。陆路交通局的英文页面写的是“黑色背景”;马来文页面写的是 putih,白色,而马来文才是原文。 Sarathi 门户要的是护照比例的照片,至少 420 x 525 像素,文件 10 到 20 KB,这非常小:这里写出的上传文件会被压得很厉害,素净、光线均匀的背景才能把空间留给脸。浅色背景,最好是白色;宗教头饰可以,帽子和深色眼镜不行。 持枪许可证(PAL) 自成一格的尺寸:45 x 57 毫米,头高至少 30 毫米,没有公布上限——这里区间的上端是本工具定的。文件必须是 200 KB 到 6 MB 的 JPG。照片可以是一年以内的,也可以是黑白的;有色的处方镜片即使看得见眼睛也会被拒;首次申请时要由担保人在相纸背面签名。 国内护照 两张 35 x 45 毫米的相纸,白色背景,彩色或黑白。规章把头高上限定为高度的 80%,头顶上方留 5 毫米(上下差一毫米);这里区间的下端是本工具定的。常戴眼镜的人必须戴着眼镜拍,镜片不能有色;不穿制服,不穿外套,围巾不能遮住下巴,也不能为了好看而修图。这些读自内务部命令的公开文本,该部自己的网站从这里打不开。 南非要的是黑白照片:西开普省要两张相同的 45 x 35 毫米相纸,有的中心要四张——付钱之前先问清楚你那里要几张。这里不会去掉颜色,所以请让冲印店印成黑白。没有公布头部大小。 {name} ({native}) 通行做法 文具店的 35 x 45 毫米标准,不是公布的规定 你 别人发给你的那份 没有打印尺寸——这条规格是给网页表单的 {width} x {height} 毫米,{dpi} dpi {width} x {height} 像素 正好 {width} x {height} px {width} x {height} px,最大到 {maxWidth} x {maxHeight} 至少 {width} x {height} px {min} 到 {max} 最多 {max} {min} 起 没有写明文件大小的规定 上传规定 没有公布——这一条是给打印的 {pixels},JPEG,{size} {n} 字节 {n} KB {n} MB 转录自 {authority} — {document}。{checked} 核对。规定会变;上面的数字是拿去跟你面前那张表格对照的。 {checked} 读自 {authority} —— {document}。那份文件只描述照片,从头到尾没给过一个尺寸,所以上面的数字不是它的——详见注释。 你自己填的数字。这里不跟任何东西对照。 已照你贴的文字填好。每个数字都列在它读出来的那几个字下面,请对照着核一遍。文字里没提到的格子保持原样。 这段文字里读不出照片尺寸、头高、背景、上传尺寸或文件大小,所以没有改动任何格子。请直接在下面填写数字。 没有改动任何格子。下面是它读到的内容,以及每一项为什么没有填: 文字里给了不止一种照片尺寸,所以尺寸没有填。请填上你的证件要的那一种: 文字只说了尺寸的叫法,没给具体数字,而各家照相馆对这些叫法的尺寸说法不一,所以尺寸没有填。请按你的证件要求填入毫米数: 文字要的背景色,这个页面没法检查(它只检查白、米白、浅灰和奶油色),所以背景没有改: 文字允许不止一种上传尺寸,已填入最小的那一种: 头部宽度,没有用上:这个页面量的是从下巴到头顶的高度,不量宽度 眼睛位置,没有用上:这个页面的眼睛线按 ICAO 标准来定 边距,没有用上:这个页面按头高来裁切,边距跟着头高走 用来打印的相纸尺寸,不是照片本身的尺寸 一个对不上任何格子的尺寸 签名的检查方式不一样:纸是不是浅色、上面有没有墨、以及裁的时候有没有把横线或者纸边框进来。 从裁切框顶部横过去的一条带,以及两侧往下、肩膀以上的部分读出来——画面里本该只有背景的地方。用 CIE Lab 而不是 RGB 来量,因为相差四十个 RGB 单位的两种灰根本分不出来,而四十个单位的蓝已经是另一种颜色了。 这条规格的下限是 {floor} dpi。在 {chosen} dpi 下文件出来是 {size},而且 JPEG 会把这个分辨率写在自己的头里,这样冲印店就按正确尺寸出片,而不是靠猜。 {sheet},缝隙里带裁切标记,照片上面什么也不印。 4 x 6 英寸相纸(10 x 15 厘米) 5 x 7 英寸相纸(13 x 18 厘米) A4 纸(210 x 297 毫米) US Letter(8.5 x 11 英寸) 这张照片在这种纸上根本放不下。 1 张,横 {columns} 竖 {rows} {n} 张,横 {columns} 竖 {rows} 这不是这个浏览器能打开的图片。 {name} — {width} x {height} 像素 {name}:{why} 规格要的画面比现有的多:{list}。于是把框留在了照片里面,下面的数字可能因此不会全是绿的。往后退一步重拍就能解决。 {side} 差 {value} px 上边 下边 左边 右边 {a}、{b} 头顶 头的最高点,连头发一起算 下巴 下巴的最下沿 左眼 瞳孔,你看过去时在左边的那个 右眼 另一个瞳孔 {label}:距照片左边缘 {x} 像素,距上边缘 {y} 像素。 {label}:{hint}。方向键可以移动它;按住 Shift 一次十个像素。 裁切区域。方向键移动它,Alt 加方向键改变大小,按住 Shift 每步是十个像素。形状由规格定死,不能更改。 正在写 {width} x {height} 毫米的相纸 正在排整版 正在压到:{label} 完成 相纸 — {width} x {height} 毫米 {width} x {height} 像素,{size},{dpi} dpi 写在文件本身里,冲印店就能按正确尺寸还原。 整版 — {paper} {sheet},{size},标了 {dpi} dpi。请按 100% 打印——让整版出来尺寸不对的正是「适应页面」。 上传用 — {width} x {height} 编码 1 次后 {size}。{how} 编码 {n} 次后 {size}。{how} 生成文件时出了问题:{why} 这个浏览器没能解码这张图片。 这个浏览器不肯写出 JPEG。 尝试太多次后放弃了。 既没有打印尺寸也没有像素尺寸的规格,没法拿来裁切。 就算用还值得一用的最低画质,出来也是 {size},超过了上限。这张图的细节比表单预留的还多。 以画质 {quality} 写出,也就是 {size} — 在表单接受的区间里。 画质拉到顶,图片也只编码到 {size},仍然低于表单坚持的 {floor} 下限。为了够到它加了 {added} 的 JPEG 注释;图片本身没动。 打印尺寸 头部,下巴到头顶 眼睛高度,从底部量 背景 {min} 到 {max} {range}({min}–{max} mm) {band}(参考) {percent}({mm} mm) 头高是 {measured}。规矩要的是 {wanted}。 头高是 {measured},偏小了。规矩要的是 {wanted}。把框缩小一点。 头高是 {measured},偏大了。规矩要的是 {wanted}。把框放大一点。 眼睛高度是 {measured}。规矩要的是 {wanted}。 眼睛高度是 {measured},在画面里偏低。规矩要的是 {wanted}。把框往下挪。 眼睛高度是 {measured},在画面里偏高。规矩要的是 {wanted}。把框往上挪。 两眼是平的。 头往左偏了 {degrees} 度,还在审核的人不会注意到的那几度以内。 头往右偏了 {degrees} 度,还在审核的人不会注意到的那几度以内。 头往左偏了 {degrees} 度,这个是看得出来的。把相机端平重拍,或者先把照片摆正。 头往右偏了 {degrees} 度,这个是看得出来的。把相机端平重拍,或者先把照片摆正。 脸在画面正中间。 脸偏在中线左边,差了画面宽度的 {size}。把框往反方向拖,或者再按一次「适配」。 脸偏在中线右边,差了画面宽度的 {size}。把框往反方向拖,或者再按一次「适配」。 裁下来的是 {have} 像素,要输出的是 {need},所以不用凭空造像素。 裁下来的只有 {have} 像素,要输出的是 {need}。会稍微放大一点,代价只是损失一点锐度,别的没有。 裁下来的只有 {have} 像素,要输出的是 {need}。差得太多了:结果会发糊,打印出来像截图。只有走近一点重拍,或者用更高的分辨率拍,才治得了。 几何尺寸还不合规矩。文件照样能存下来——这儿没有哪一处会不给你你自己的照片——只是上面那些数字才是表单要量的。 几何尺寸合规矩了,背景不合。照片被退回来,更常见的原因是背景。 几何尺寸合规矩,背景也过得去。 纯白 纯白 白墙拍出来是浅灰的。人家要的是一块干净、光照均匀、没有影子的背景,不是一种涂料的颜色。 白或米白 白或米白 两种都收,实际上就是只要素净又浅就行:没有花纹,没有家具,头后面没有影子。 纯浅灰 纯浅灰 浅灰是国际民航组织偏好的颜色,因为它既把浅色的脸和背景分开,也把深色头发和背景分开。纯白两样都做不到。 浅灰或奶油色 浅灰或奶油色 这是英国的说法。奶油色看着像偏暖的米白;规矩要的是背景素净均匀,不是非得哪一个色号。 背景量出来是 {hex},离 {wanted} 差得很远。 背景量出来是 {hex}——离 {wanted} 挺近,但还不是。 背景量出来是 {hex},能算作 {wanted}。 它不是一块干净的单色——你身后有影子、花纹或者别的东西。 有点不匀。往前站半米离墙远一些,通常就全解决了。 光照均匀,头后面没有影子。 背景一边比另一边暗不少,看着像是侧面来的光。 一边比另一边稍微暗一点。 {colour} 这个工具不会替你换背景:把人从照片里抠出来要用分割模型,而差的模型专挑那些照片本来就最常被退回的人,把头发啃掉一块。往前站半米离墙远一些,比任何滤镜都管用。 这儿不会动你的签名。只是量一量、报给你看,裁剪框你自己挪。 裁下来的这块里几乎没有墨。要么框没框住签名,要么笔太淡,拍不出来。 深色像素太多了——看看裁剪是不是把一条横线或者纸边也框进去了。 墨覆盖了这块的 {coverage}%,看着像是一个签名。 纸拍出来是灰的,不是白的。给纸多点光,或者别拍照,直接扫描。 纸有点发暗。多数表单要签名后面是一张干净的白纸。 纸干净又白。 四个点都是从照片上量出来的:头顶取自你头部的轮廓,瞳孔取自它们的暗,下巴取自下颌收进脖子的地方。还是看一眼,哪个落偏了就拖回来:裁切框取自它们最后停在哪里。放好了,但不是每一处都量得出来。套用裁切框之前,请把四个点都看一遍。这张照片上什么也量不出来。四个点改为停在起始位置上——请把它们拖到头顶、下巴和左右瞳孔上。这四个点归你,什么都不会去动它们。请把每一个拖到头顶、下巴和瞳孔上。你动过一个点,所以四个点现在都归你了。选「替我找」会重新量一遍这张照片。 你背后那面墙不够干净,衬不出一个头的轮廓。头从照片上方出了框,没有头顶可找。眼睛认不出来,于是两只都放在这么大的头通常长眼睛的位置。下巴来自头的一般比例,而不是这个头的轮廓。 重新找一次脸把点放回去 你的照片没有去任何地方。加载了 {total} 个文件,全都是本站自己的。{platform} 有东西联系了 {hosts},而这个工具从不这么做。值得去查一查。{platform} 本站自己用于广告、统计和捐赠按钮的脚本来自 {hosts} 个主机,它们谁也没拿到照片,或照片里的一个字节。 本站自己用于广告、统计和捐赠按钮的脚本来自 {hosts} 个主机,它们谁也没拿到照片,或照片里的一个字节。
以 Markdown 查看
# 证件照制作 — 护照和签证照按规格来
选择支持的国家和证件。公布的要求与指导值均有标注。
> 为支持的国家准备护照或签证照片:公布尺寸、注明的裁切指导值、头高和眼线提示、背景检查、打印拼版及 JPEG 上传预设。照片始终留在你的浏览器。
这是一个浏览器交互工具,地址是 https://abox.tools/zh/id-photo/。文件在运行该浏览器的设备上处理。主动分享和可选联网功能都在页面上说明。下文是它的文字说明;使用工具请打开该地址。
## 你的照片**在浏览器里处理**,无须上传处理。
裁切、测量、读取背景和排版打印,全都在你自己的浏览器里、你自己的硬件上完成,用的是浏览器本来就带的 JPEG 编码器。这个工具没有任何形式的网络功能,没有什么可取,也没有什么可发。就算真有路,页面的另一端也根本没有服务器来接收一张你的面部照片。
- ✗ 不上传
- ✗ 不注册
- ✗ 无水印
- ✓ 断网可用
- ✓ 开源
## 如何准备护照照片
1. **选好照片。** 白天,对着一面素净的墙,从大约一米半外用手机拍的一张就行。浏览器直接从磁盘上读,这期间没有任何东西发往别处。
2. **选好国家和证件。** 在框里打国家地区的名字,或者点开它的列表,然后选你要办的是这个国家地区的哪一种证件。面板随即显示那条规定的打印尺寸、头高区间、眼线、背景色和上传限制,并注明每个数字出自哪个机构、哪天读的。这份清单里没有一条是猜的;要是人家给你的要求不在上面,就走“其他国家和地区”自己填。
3. **看一眼脸上那四个点。** 头顶、下巴和左右瞳孔——规定要量的全部就是这四个点。它们是量这张照片本身放上去的,下面那行会说哪几个量出来了、哪几个是推出来的。哪个落偏了就拖回来,或者切到*我自己放*,四个都自己放。然后按*套用裁切框*,裁切框就落在那个国家要的位置上。
4. **看那四项检查,还有背景。** 头高、眼线、居中和倾斜,每一项都是按当前的框量出来的,超标的还会说明该往哪边拖。背景取自裁切框的顶边和两侧,再和规定要求的颜色比对;真正让照片被退回的“不均匀”,是和颜色分开量的。
5. **把三个文件带走。** 打印用的那张,尺寸精确到毫米,分辨率写在文件里,冲印店才会按正确大小出。拼版那张,10 × 15 上能排几张就排几张,缝隙里带裁切标记。还有上传用的那张,像素尺寸按门户要求,并落在它两头都卡的 KB 区间里。
## 说得更细的版本
[怎么拍一张不会被退回来的证件照](https://abox.tools/zh/guides/make-a-passport-photo/): 证件照真正被量的是什么——头部高度、眼睛的位置、背景——哪个国家要哪些数字,以及怎么满足网上表格卡的像素和 KB 限制。
## 工具箱里还有
- [图片堆栈](https://abox.tools/zh/stack-images/): 二十张变一张,不用传二十次,也不用 RAW 转换器。
- [图片涂黑与打码](https://abox.tools/zh/redact-image/): 你遮住的那块是从文件里删掉的,不是藏在文件里。
- [EXIF 查看与清除](https://abox.tools/zh/exif-editor/): 看看一张照片把你交代了多少,然后删掉。
- [DICOM 阅片器](https://abox.tools/zh/dicom-viewer/): CT、MR、X 光和超声,连窗宽窗位、头信息和测量一起。
## 常见问题
### 我的照片会被传到哪里去吗?
不会。图像的解码、裁切、测量和写出,都由你自己的浏览器在你自己的硬件上完成,用的是浏览器本来就带的 JPEG 编码器。这个工具没有任何形式的网络功能:它从不去取什么,也从不发出什么;页面的 `Content-Security-Policy` 里写着它允许联系的每一个地址,没有一个属于本站。这一点在这儿比在别的工具上更值钱,因为这个文件是你脸的照片。
### 覆盖了哪些国家?
够多了,多到在这里列出名字就成了一份每加一个国家就得改一次的清单。所以换个说法:每一条都抄录自公布它的那个机构,而且每一条都把机构和读取日期印在数字底下。选择器本身就是那份清单——在它里面打个国家名,一秒钟就知道在不在。不在的走“其他国家和地区”,那里每个数字都由你自己填;而由于世界上大多数地方都按 ICAO 的几何要求签发,那一项一开始就用的是它。 没人公布数字的国家也在单子上,并且在自己那一条里说清楚:画幅用的是世界上大多数地方签发所用的 35 × 45 毫米,区间用 ICAO 的且从不标红,注释里写明那个机构实际上说了什么——很多时候是“照片在窗口当场拍”。这里从来不做的,是照着别的工具说的把数字填上。
### 没有人脸模型,它怎么找到头顶、下巴和眼睛?
靠一个通用人脸检测器不能假设、而这个工具可以假设的前提:这里每一条规定要的都是同一个场面——一个人,正对镜头,站在一面干净、打光均匀的墙前。于是墙的颜色从照片边缘读出来,凡不是这个颜色的就是人,人最上面那一点就是头顶,连头发一起算。瞳孔则是这样找的:在比自身周围更暗的斑块里,挑出高度齐平、分居头部中线两侧的最佳一对。这个比较完全是局部的,所以里头没有一处取决于一张脸是什么颜色。下巴是唯一这样找不到的,因为脖子前的下颌是一条不变色的软边;它由瞳孔推出来——把头发也算进头高里,瞳孔落在中点稍下——再拿轮廓来对一遍。这一切都是 `src/detect.js` 里的算术:没有权重,没有推理运行时,不取任何东西,而且对每一张脸都是同一套算术。最后这点才是要紧的,因为随工具附上的检测器不会均匀地出错——在某些脸上比在别的脸上更糟——而照片本来就最常被退回的那些人,恰恰是它最先辜负的。
### 它放的这几个点,能信到什么程度?
够拿来当起点,不够让你不看一眼。四个点每一个都有会出错的照片:有花纹的墙或一排书架就没有轮廓可以衬出一个头,从上面切掉的头照片里根本没有头顶,而眼镜、厚刘海或闭着的眼睛都可能把瞳孔放到别的地方去。所以这个工具会明说四个点里哪几个是量出来的、哪几个是推出来的,遇上没有干净背景的照片宁可直接拒绝也不编一个答案,并且让每个点都还能拖。裁切框取自这些点最后停在哪里,绝不取自它们一开始在哪里。要是你更想四个都自己放,照片上方那个开关写着*我自己放*;而只要用手动过任何一个点,它自己就会切过去——从那一刻起这些点归你,什么都不会再去动它们。
### 头高规定是什么,为什么我的老是不合格?
这些规格每一条都写明头部要占画面多少,从下巴底量到头顶,含头发在内;通常是 70% 到 80%,对一张 45 mm 高的照片来说就是 31.5 到 36 mm。最常见的不合格原因是自拍:一臂长大约 60 cm,会让脸变形,也让头在画面里显得太大。第二常见的原因是头顶:头顶指的是头发的最高点,不是发际线,标在发际线上会让每个头都偏小。
### 为什么文件至少要 20 KB,又怎么把它填大?
印度的考试门户、中国的签证表单和英国的护照上传,都同时规定了最小和最大文件大小,因为小于下限的文件通常是有人误传的缩略图。一张 200 × 230 的照片是 46,000 个像素,即便用浏览器能写出的最高画质,也可能只有 15 KB,而且没法靠少压缩把它变大。于是这个工具加了一段塞满空格的 JPEG 注释。这本来就是 JPEG 标准的一部分,任何解码器都会跳过,画面逐位都还是同一幅画面,变长的只有文件本身。那段填充里就用英文写着这件事。
### 它会检查背景吗,能替换背景吗?
它检查,但不替换。颜色取自裁切框顶部的一条带子,以及两侧肩膀以上的部分,再和规定的颜色在 CIE Lab 里比对,而不是在 RGB 里:相差四十个 RGB 单位的两种灰根本分不出来,而四十个单位的蓝就是另一种颜色了。不均匀是单独测的,因为白墙上的一道影子才是真正让照片被退回的原因,而那不是颜色问题。替换背景意味着把人从画面里抠出来,那是分割模型的活,做得不好会吃掉头发。往后退半米离墙远一点,比任何滤镜都更能解决问题。
### 10 x 15 拼版是干什么用的?
自助照相亭六张要收好几十块。照片店柜台印一张 10 × 15 只要几毛钱,而且哪家都能印。所以这个工具会在纸上排下你这张照片能排的份数——35 × 45 排在 10 × 15 上是八张——缝隙里带裁切标记,任何东西都不会压在照片上。这里不会为了排下而缩放:每一份都严格是规定要求的尺寸,因为一张为了多塞一份而把它们缩小百分之二的拼版,等于八张全都尺寸不对的照片。请按 100% 打印;把拼版弄错的正是“适应页面”。
### 像素一样的话,DPI 还有什么关系?
因为 JPEG 可以声明自己有多大,不声明的话,打印它的东西就只能猜。分辨率住在 JFIF 文件头里,而浏览器的画布写这个头时,会把单位字段设成“这是宽高比,不是分辨率”。这个工具改写那几个字节,让文件写明 300 dpi,正是这一点把 413 × 531 个像素变成一张 35 × 45 mm 的照片,而不是一幅没有具体尺寸的图。为此不需要解码,也不消耗画质。
### 签名文件也能做吗?
能。所引用的 IBPS 公告建议签名 JPEG 使用 140 × 60 像素,并要求 10 到 20 KB。本预设输出该尺寸;具体要求请查看本次申请的最新公告。签名不显示人脸参考线,工具会检查纸张是否明亮、墨迹是否可见,以及裁切中是否包含线条或纸边。
### 用了这个,我的申请就一定能过吗?
不能,而且任何工具都无法诚实地作此保证。它做的是把公布的数字一字不差地套用,并把它做过的每一次测量都摆给你看:这样表单自动测的那些东西——像素尺寸、文件大小、格式——是对的;而人工审核会看的那些东西——头高、眼线、背景——就带着数字摆在你面前。规定也会变:这里的每一条规格都写明出自哪个机构、哪天读的,好让你拿它去对照眼前那份表单,而不是盲信一张表。
### 它免费吗,需要注册吗?
免费,没有账号,不用登录,没有试用期,也不会在你脸上盖水印。做多少张照片也没有上限,因为没有哪台服务器在为它们掏钱。本站带广告,经费就是从那儿来的,广告拿不到任何关于你照片的信息。
### 断网能用吗?
能。页面加载一次之后断开网络,它照样干活——规格册是随页面一起送来的文件,不是一次查询。这也是证明“什么都没上传”最省事的办法,真要把你的照片送出去裁切,拔线那一刻就停了。
## 这条隐私承诺怎么核实
- **一张你的面部照片从不离开这台机器。** 这一点在这儿比在别的工具上更要紧:这个页面经手的文件是你脸的照片,而你接下来要拿它做的事,还说明了你在申请哪个国家的证件。`Content-Security-Policy` 里写着这个页面允许联系的每一个地址,没有一个属于本站。这里没有任何可以收走你照片的接收端。
- **这里不会去取任何东西。** 整个 `src/` 里没有 `fetch`,没有 `XMLHttpRequest`,也没有 `sendBeacon`。规格册是 `src/specs.js` 里的一张表,随页面一起送来、一起缓存。这里没有国家清单要去查,也没有什么要拿你的照片去远端比对。
- **找脸不靠人脸模型。** 没有要下载的权重,没有跑权重的推理运行时,也不去取任何东西:头顶来自你的头在背后那面墙前的轮廓,瞳孔来自脸上比周围更暗的那几块。里头没有一处读肤色,之所以这么写正是为了这个——会出错的模型不会均匀地出错,在某些脸上比在别的脸上更糟。它是起点而不是判决:页面会说四个点里哪一个没能量出来,每个点都还能拖,切到*我自己放*就整个关掉。
- **Google 加载了什么,又拿不到什么。** 广告脚本和统计脚本来自 Google,捐助按钮来自 Buy Me a Coffee。关于你的照片、你的脸,或者你选了哪个国家的规定,一条也没有交给它们。读取、裁切、测量、写出文件的每一行代码都由这个源提供,也都摆在仓库里。
- **断网也照样能用。** 断开网络,这个工具跟原来一模一样,因为它里面从来就没有联网这一步。这是最省事的一条证明。
**你可以自己核对。**上面这些不用你信。这个页面是仓库里的模板和配置生成出来的,构建脚本你能读,也能自己跑一遍,跑出来的结果就提交在 `dist` 分支上。拿实际发给你的内容,跟你自己从源码构建出来的结果对一遍就知道了: https://github.com/A-Box-of-Tools/website
最值得先读的几个文件:`config/site.toml` 里是 Content-Security-Policy,`src/specs.js` 是那本规格册,里头是各国公布的数字;`src/sources.js` 写着每一条出自哪个机构、哪天读的;`src/detect.js` 是四个点怎么找出来的——一条轮廓加两块暗斑,哪儿也没有模型——;`src/geometry.js` 是把四个标记点算成一个裁切框的那套算术;`src/jpeg.js` 是两处文件头改写,负责把打印分辨率写进文件,以及把偏小的上传文件抬到表单坚持的大小。
如何准备护照照片
- 选好照片。白天,对着一面素净的墙,从大约一米半外用手机拍的一张就行。浏览器直接从磁盘上读,这期间没有任何东西发往别处。
- 选好国家和证件。在框里打国家地区的名字,或者点开它的列表,然后选你要办的是这个国家地区的哪一种证件。面板随即显示那条规定的打印尺寸、头高区间、眼线、背景色和上传限制,并注明每个数字出自哪个机构、哪天读的。这份清单里没有一条是猜的;要是人家给你的要求不在上面,就走“其他国家和地区”自己填。
- 看一眼脸上那四个点。头顶、下巴和左右瞳孔——规定要量的全部就是这四个点。它们是量这张照片本身放上去的,下面那行会说哪几个量出来了、哪几个是推出来的。哪个落偏了就拖回来,或者切到我自己放,四个都自己放。然后按套用裁切框,裁切框就落在那个国家要的位置上。
- 看那四项检查,还有背景。头高、眼线、居中和倾斜,每一项都是按当前的框量出来的,超标的还会说明该往哪边拖。背景取自裁切框的顶边和两侧,再和规定要求的颜色比对;真正让照片被退回的“不均匀”,是和颜色分开量的。
- 把三个文件带走。打印用的那张,尺寸精确到毫米,分辨率写在文件里,冲印店才会按正确大小出。拼版那张,10 × 15 上能排几张就排几张,缝隙里带裁切标记。还有上传用的那张,像素尺寸按门户要求,并落在它两头都卡的 KB 区间里。
说得更细的版本
怎么拍一张不会被退回来的证件照 证件照真正被量的是什么——头部高度、眼睛的位置、背景——哪个国家要哪些数字,以及怎么满足网上表格卡的像素和 KB 限制。
常见问题
我的照片会被传到哪里去吗?
不会。图像的解码、裁切、测量和写出,都由你自己的浏览器在你自己的硬件上完成,用的是浏览器本来就带的 JPEG 编码器。这个工具没有任何形式的网络功能:它从不去取什么,也从不发出什么;页面的 Content-Security-Policy 里写着它允许联系的每一个地址,没有一个属于本站。这一点在这儿比在别的工具上更值钱,因为这个文件是你脸的照片。
覆盖了哪些国家?
够多了,多到在这里列出名字就成了一份每加一个国家就得改一次的清单。所以换个说法:每一条都抄录自公布它的那个机构,而且每一条都把机构和读取日期印在数字底下。选择器本身就是那份清单——在它里面打个国家名,一秒钟就知道在不在。不在的走“其他国家和地区”,那里每个数字都由你自己填;而由于世界上大多数地方都按 ICAO 的几何要求签发,那一项一开始就用的是它。 没人公布数字的国家也在单子上,并且在自己那一条里说清楚:画幅用的是世界上大多数地方签发所用的 35 × 45 毫米,区间用 ICAO 的且从不标红,注释里写明那个机构实际上说了什么——很多时候是“照片在窗口当场拍”。这里从来不做的,是照着别的工具说的把数字填上。
没有人脸模型,它怎么找到头顶、下巴和眼睛?
靠一个通用人脸检测器不能假设、而这个工具可以假设的前提:这里每一条规定要的都是同一个场面——一个人,正对镜头,站在一面干净、打光均匀的墙前。于是墙的颜色从照片边缘读出来,凡不是这个颜色的就是人,人最上面那一点就是头顶,连头发一起算。瞳孔则是这样找的:在比自身周围更暗的斑块里,挑出高度齐平、分居头部中线两侧的最佳一对。这个比较完全是局部的,所以里头没有一处取决于一张脸是什么颜色。下巴是唯一这样找不到的,因为脖子前的下颌是一条不变色的软边;它由瞳孔推出来——把头发也算进头高里,瞳孔落在中点稍下——再拿轮廓来对一遍。这一切都是 src/detect.js 里的算术:没有权重,没有推理运行时,不取任何东西,而且对每一张脸都是同一套算术。最后这点才是要紧的,因为随工具附上的检测器不会均匀地出错——在某些脸上比在别的脸上更糟——而照片本来就最常被退回的那些人,恰恰是它最先辜负的。
它放的这几个点,能信到什么程度?
够拿来当起点,不够让你不看一眼。四个点每一个都有会出错的照片:有花纹的墙或一排书架就没有轮廓可以衬出一个头,从上面切掉的头照片里根本没有头顶,而眼镜、厚刘海或闭着的眼睛都可能把瞳孔放到别的地方去。所以这个工具会明说四个点里哪几个是量出来的、哪几个是推出来的,遇上没有干净背景的照片宁可直接拒绝也不编一个答案,并且让每个点都还能拖。裁切框取自这些点最后停在哪里,绝不取自它们一开始在哪里。要是你更想四个都自己放,照片上方那个开关写着我自己放;而只要用手动过任何一个点,它自己就会切过去——从那一刻起这些点归你,什么都不会再去动它们。
头高规定是什么,为什么我的老是不合格?
这些规格每一条都写明头部要占画面多少,从下巴底量到头顶,含头发在内;通常是 70% 到 80%,对一张 45 mm 高的照片来说就是 31.5 到 36 mm。最常见的不合格原因是自拍:一臂长大约 60 cm,会让脸变形,也让头在画面里显得太大。第二常见的原因是头顶:头顶指的是头发的最高点,不是发际线,标在发际线上会让每个头都偏小。
为什么文件至少要 20 KB,又怎么把它填大?
印度的考试门户、中国的签证表单和英国的护照上传,都同时规定了最小和最大文件大小,因为小于下限的文件通常是有人误传的缩略图。一张 200 × 230 的照片是 46,000 个像素,即便用浏览器能写出的最高画质,也可能只有 15 KB,而且没法靠少压缩把它变大。于是这个工具加了一段塞满空格的 JPEG 注释。这本来就是 JPEG 标准的一部分,任何解码器都会跳过,画面逐位都还是同一幅画面,变长的只有文件本身。那段填充里就用英文写着这件事。
它会检查背景吗,能替换背景吗?
它检查,但不替换。颜色取自裁切框顶部的一条带子,以及两侧肩膀以上的部分,再和规定的颜色在 CIE Lab 里比对,而不是在 RGB 里:相差四十个 RGB 单位的两种灰根本分不出来,而四十个单位的蓝就是另一种颜色了。不均匀是单独测的,因为白墙上的一道影子才是真正让照片被退回的原因,而那不是颜色问题。替换背景意味着把人从画面里抠出来,那是分割模型的活,做得不好会吃掉头发。往后退半米离墙远一点,比任何滤镜都更能解决问题。
10 x 15 拼版是干什么用的?
自助照相亭六张要收好几十块。照片店柜台印一张 10 × 15 只要几毛钱,而且哪家都能印。所以这个工具会在纸上排下你这张照片能排的份数——35 × 45 排在 10 × 15 上是八张——缝隙里带裁切标记,任何东西都不会压在照片上。这里不会为了排下而缩放:每一份都严格是规定要求的尺寸,因为一张为了多塞一份而把它们缩小百分之二的拼版,等于八张全都尺寸不对的照片。请按 100% 打印;把拼版弄错的正是“适应页面”。
像素一样的话,DPI 还有什么关系?
因为 JPEG 可以声明自己有多大,不声明的话,打印它的东西就只能猜。分辨率住在 JFIF 文件头里,而浏览器的画布写这个头时,会把单位字段设成“这是宽高比,不是分辨率”。这个工具改写那几个字节,让文件写明 300 dpi,正是这一点把 413 × 531 个像素变成一张 35 × 45 mm 的照片,而不是一幅没有具体尺寸的图。为此不需要解码,也不消耗画质。
签名文件也能做吗?
能。所引用的 IBPS 公告建议签名 JPEG 使用 140 × 60 像素,并要求 10 到 20 KB。本预设输出该尺寸;具体要求请查看本次申请的最新公告。签名不显示人脸参考线,工具会检查纸张是否明亮、墨迹是否可见,以及裁切中是否包含线条或纸边。
用了这个,我的申请就一定能过吗?
不能,而且任何工具都无法诚实地作此保证。它做的是把公布的数字一字不差地套用,并把它做过的每一次测量都摆给你看:这样表单自动测的那些东西——像素尺寸、文件大小、格式——是对的;而人工审核会看的那些东西——头高、眼线、背景——就带着数字摆在你面前。规定也会变:这里的每一条规格都写明出自哪个机构、哪天读的,好让你拿它去对照眼前那份表单,而不是盲信一张表。
它免费吗,需要注册吗?
免费,没有账号,不用登录,没有试用期,也不会在你脸上盖水印。做多少张照片也没有上限,因为没有哪台服务器在为它们掏钱。本站带广告,经费就是从那儿来的,广告拿不到任何关于你照片的信息。
断网能用吗?
能。页面加载一次之后断开网络,它照样干活——规格册是随页面一起送来的文件,不是一次查询。这也是证明“什么都没上传”最省事的办法,真要把你的照片送出去裁切,拔线那一刻就停了。