屏幕实尺与标定测量
先用银行卡把屏幕校准一遍,之后页面上的刻度就是真实长度了:可以直接量手边的小东西,也能顺便算出屏幕有多大。
- 不标定就没有意义。网页拿不到屏幕的物理尺寸,不知道你的显示器是 24 寸还是 27 寸,也不知道系统缩放设成了多少。所以在标定之前,屏幕上显示的任何「厘米」都只是像素的换算,不是真实长度。标定一次之后,同一台设备上的结果就一直有效。
- 怎么标才准。把银行卡或身份证紧贴在屏幕上(一定要贴住,悬空看会有透视误差),然后拖动滑块,让屏幕上那条标尺的两端正好和卡片的两边对齐。对齐时眼睛要正对屏幕中心,从侧面斜着看会低估或高估长度。用卡片的长边(85.6 毫米)比短边更容易对得准。
第一步:标定
拿一张银行卡或者身份证,紧贴在屏幕上,然后拖动下面的滑块,让这条浅色长条的左右两端正好和卡片的长边对齐。
ISO/IEC 7810 ID-1 标准尺寸,长边 85.60 毫米、短边 53.98 毫米,全球统一,误差极小,最适合用来标定。
调整浏览器缩放、换浏览器或者改系统缩放比例之后,这里的关系会变,要重新标定一次。标定前请把浏览器缩放固定在 100%。
第二步:量长度
数字单位是厘米。这一段尺子覆盖了 171.2 毫米 = 17.1 厘米(约 6.74 英寸)。每毫米只有 2 到 4 个像素,细刻度改成 5 毫米一格。
量小东西时把物体直接贴在屏幕上,眼睛正对屏幕看;从侧面斜着看会有视差,量出来的值会偏大。实体尺子靠边对齐可以量屏幕边缘到某处的距离,用起来和普通直尺一样。
卡尺:量两点之间的距离
在轨道上按下并拖动,会自动抓住离你更近的那条线。想要量某个物体,先把两条线分别拖到它的两端,再看上面的读数就行。
顺便得到的屏幕信息
这台设备按规格算是 108.8 PPI(27 英寸、2560 × 1440)。
偏差偏大,建议重新标定。标定值比标称值差 12.7%,超出了手动误差的正常范围。常见原因有三个:参照物没有紧贴屏幕(悬空看会有透视误差)、拖动滑块时没对齐两端、或者参照物本身尺寸不对。先重新标定一次,别急着怀疑屏幕。
容易踩的坑
换浏览器或改缩放后要重新标定。标定结果记的是「一个 CSS 像素多少毫米」。一旦调整了浏览器缩放、换了浏览器、或者改了系统缩放比例,这个关系就变了,必须重新标定。把浏览器缩放固定在 100% 能让结果更稳定。
精度到毫米级,别当游标卡尺用。手动对齐滑块通常能到 1% 到 2% 的误差。量十几厘米的东西,误差大概在一两毫米;量几厘米的小物件,误差占比会明显变大。它的实用价值在于「手边没尺子时快速量个大概」,而不是替代量具。
和系统缩放的关系。系统缩放 125% 时,一个 CSS 像素并不是一个物理像素。标定过程已经把这个因素一起算进去了,所以不用自己去乘除——只要记住改过缩放就要重标一次。
为什么网页里的「厘米」必须靠一次标定才可信
网页拿不到屏幕的物理尺寸。浏览器能告诉你的只有分辨率、设备像素比和窗口大小,这些都是像素层面的数字,没有一项能说明一厘米有多长。显示器可以是 24 寸也可以是 32 寸,两者的像素数完全相同;系统缩放设为 125% 时,一个 CSS 像素对应的物理像素又会变。所以任何直接显示「厘米」的网页尺子,在没有标定之前都只是按某个假定的 PPI 换算出来的猜测值,误差可以到百分之几十。
标定的本质是求一个比例尺。把已知长度的实物贴在屏幕上,读出它在屏幕上占了多少 CSS 像素,两者相除就得到「一个 CSS 像素等于多少毫米」。这一个数字定下来之后,屏幕上的任何距离都能换算成真实长度,反过来也成立。所以关键的衡量标准是实物摆得准不准:用银行卡的长边(85.60 毫米)比用短边少一半的读数误差,用硬币这种直径二十几毫米的物体则会把误差成倍放大。
视角和对齐带来的误差比想象中大。最容易被忽略的是视差:参照物如果悬在屏幕上方没有贴住,从斜上方看过去,屏幕上对齐的位置和实物真实边界会差出好几像素,进而让整个比例尺偏掉。正确的做法是把卡片按在屏幕上、眼睛正对屏幕中心调节滑块,调完之后把头左右移动一下,如果两端的对齐关系跟着变,就说明还有悬空。手动对齐本身的精度大概在百分之一到百分之二,量十几厘米的物体误差一两毫米。
它适合替代「手边没尺子」,不适合替代量具。画线用的直尺能精确到半毫米,卡尺能到百分之一毫米,而屏幕尺子受限于像素网格和手动对齐,很难比毫米级更细。但对于量信封尺寸、估一下螺丝长度、确认某个小物件是不是超过了某个规格这类日常需求,它的精度绰绰有余,而且随时在手边。需要正式测量时请用真正的量具,这里的数值只适合参考。
推算 PPI 只是标定的副产物。既然知道了「一个 CSS 像素多少毫米」,再乘上设备像素比就得到了每个物理像素的尺寸,取倒数就是 PPI,跟分辨率、对角线一拼就能反推出屏幕尺寸。这个数字可以用来核对标定是否离谱——比如在一台 27 寸 2K 显示器上算出一百出头的 PPI,或者两三百,那就说明标定步骤出了问题。但它同样是二手推算,不能替代把屏幕尺寸参数读出来。另外,标定结果只对当前这台设备、当前这个缩放比例有效,换浏览器或者改了缩放,就得重新标一次。