宽高比
二维码的宽高比始终以 1:1 的正方形为原则,一旦纵向或横向拉伸就会扫不出来。宽高比指的是图像或显示区域的纵横比例,常见的有 16:9(宽屏)、4:3(早期电视)、1:1(正方形)等,它是决定照片裁剪方式和视频显示形式的基本参数。
二维码是正方形(宽高比 1:1)。在 ISO/IEC 18004 标准中,二维码的符号被定义为正方形的矩阵。三个寻像图形(位置探测图形)的排布也以正方形为前提,宽高比一旦失真,解码器就无法正确检出寻像图形,于是出现扫描错误。
实务中比例失真最常见的场合,是在设计软件里摆放二维码图像时,没有锁定纵横比就直接拖动缩放。变成横长或纵长的二维码,肉眼看上去似乎还能扫,但换一台扫描设备就可能完全识别不了。在设计软件中缩放二维码时,必须打开「锁定纵横比」的选项。变形之外的扫描失败原因与处理办法,可参见「二维码扫不出来时的原因与处理办法」;印刷物上的尺寸设计,可参见「二维码的尺寸与印刷的最佳解」。
下面整理常见的宽高比,以及能不能用在二维码上。
| 宽高比 | 主要用途 | 用在二维码上 |
|---|---|---|
| 1:1(正方形) | 二维码的符号本身 | ISO/IEC 18004 规定的形状 |
| 4:3 | 早期电视的画面 | 相当于拉伸,扫不出来 |
| 16:9 | 宽屏影像 | 相当于拉伸,扫不出来 |
| 长方形(rMQR) | 标签、软管、电路板等细长空间 | 需要支持 rMQR 的解码器 |
想把二维码做成长方形该怎么办?
把普通二维码拉成长方形会引发扫描错误,应当避免,改为考虑长方形格式的派生标准 rMQR(Rectangular Micro QR Code)。它就是为细长空间(标签、软管、电路板)上的印刷而设计的,允许与普通二维码不同的宽高比。不过 rMQR 需要专用的解码器,一般手机的相机应用可能并不支持读取,采用前要先用实际使用的设备验证。
另一个折中办法是保持二维码本身为正方形,只把它周围的白底做成长方形。静区(二维码四周的空白)本来就要求四边各留 4 个模块以上,把这块空白向左右延展,既能填满细长的版面,又不会破坏码本身的比例。