像素
像素 (pixel) 是 picture element 的缩写,是构成数字图像的最小正方形点。屏幕上的所有图像都是像素的集合,每个像素携带一个颜色值。在 QR 码中,用多少像素来渲染一个模块(最小的黑白方块)直接影响扫描的可靠性。
生成 QR 码图像时,每个模块的像素数通常称为"模块尺寸"。如果模块尺寸过小,智能手机摄像头可能无法正确对焦。一般建议每个模块至少 4 像素以确保可靠扫描。对于印刷品,所需像素数取决于印刷分辨率 (dpi),在 300 dpi 下,即使 0.5 mm 的模块也能获得足够的清晰度。
PNG 和 JPEG 等光栅格式在放大时会产生锯齿。为避免这一问题,可以从一开始就以足够高的分辨率生成图像,或者使用 SVG 等矢量格式。SVG 最适合网页显示,高分辨率 PNG 则适合印刷用途。
屏幕和印刷要分开算,这是最容易出错的地方。屏幕上模块尺寸就是直接指定的像素数,而印刷品得先经过分辨率换算:300 dpi 相当于每厘米约 118 像素,所以 0.5 mm 的模块换算下来也能超过前面提到的 4 像素下限。名片和海报的成品尺寸差得很远,需要的像素数也跟着变,同一份图像未必两边都够用。至于放大后出现的锯齿,来源是光栅格式在写出图像时就把像素数固定住了,之后再放大也补不出新的细节,模块的边缘因此变得毛糙。与其事后放大,不如在生成阶段就按最终用途定好分辨率,或者干脆交给矢量格式。