纠错、安静区域、对比度和打印尺寸:这四件事决定了 QR 码在纸上是否有效或悄无声息地失效。
扫描仪不会像人读取文本那样“读取”QR 码。它将相机图像转换为黑白像素,找到角落里的三个大方块,计算出网格,然后读取每个单元格。一切对二维码有利或不利的因素都会回到这个过程:角落必须是可找到的,网格必须是规则的,每个单元格必须是明确的亮或暗。
这就是为什么代码在屏幕上看起来很完美,但一旦打印到菜单上就完全失败,以及为什么“使其更小以适应”是破坏代码的最常见方法。
QR 码携带冗余数据,因此当部分图像损坏时它们仍然可以解码。有四个级别:L 恢复符号的 7%,M 恢复 15%,Q 恢复 25%,H 恢复 30%。
权衡是尺寸。更高的冗余意味着更多的模块可用于相同的内容,而更多的模块意味着在给定的打印尺寸下每个模块的物理尺寸更小,这会使扫描变得更困难而不是更容易。提高水平并不意味着就自动更安全。
二维码周围的空白边距不是装饰。该规范要求每侧至少有四个模块的空白空间,扫描仪真正依赖它来找到符号的边缘。
这是 QR 设计中最常被忽视的要求。与边框、照片或文本块对接的代码会失去其安静区域,并可能完全停止工作 - 而且失败看起来是随机的,因为它取决于相机碰巧捕捉到的内容。
该工具默认有四个模块,如果您减少它,则会向您发出警告。如果布局没有留出边距的空间,请缩小代码而不是修剪边距。
扫描仪对图像进行二值化,因此重要的是代码与其背景之间的亮度差异,而不是颜色看起来是否令人愉悦地不同。两种颜色在肉眼看来可能明显不同,但转换为灰度后几乎完全相同。
白底黑字的对比度为 21:1。目标至少为 7:1;下面关于 4:1 代码在纸上和光线不好的情况下开始失败,这个工具会警告您。当您更改颜色时,预览旁边的实时对比度图会更新。
使代码比其背景更暗。许多扫描仪只寻找暗光模式,而反向代码(暗场上的光模块)就像在设备上抛硬币一样。如果您需要深色设计的代码,请将其放在浅色面板内。
避免代码中出现渐变,并注意透明背景:其后面的任何内容都必须满足相同的对比度要求。
一个广泛使用的经验法则是,代码的宽度应该大约是扫描距离的十分之一。在一定距离处读取的代码(例如 30 厘米)希望宽度约为 3 厘米。从三米处扫描的海报大约需要 30 厘米。
问题的另一半是模块大小。每个模块大约低于 0.4 毫米,普通手机摄像头开始陷入困境,廉价的热敏打印机会将相邻模块涂抹在一起。较短的内容意味着更少的模块,这意味着在相同的总体尺寸下每个模块都更大——这就是为什么保持有效负载较短比任何其他单一更改更有帮助。
将要打印的任何内容导出为 SVG。它是矢量,因此可以缩放到任何尺寸并具有完美锐利的边缘,这正是设计师或打印机所想要的。
为屏幕、文档和任何位图更容易的地方导出 PNG。选择较大的像素大小:该工具将模块大小四舍五入为整数像素,因此每个模块都是相同的,这避免了代码按分数缩放时出现的不均匀模块。
导出后切勿放大 PNG QR 码。相反,将其重新导出得更大——插值模糊了模块边缘,这正是扫描仪所需要的清晰效果。
在真实材料上以真实尺寸打印一份,然后用多部手机(最好是旧版 Android 手机和最新的 iPhone)扫描它,并根据代码实际存在的光线进行扫描。在台灯下的办公桌上可以使用的代码在窗边的桌子上可能会失败。
如果您将徽标放置在中心,请使其保持较小,使其远离三个角的方块,并测试结果,而不是假设纠错会覆盖它。