藏在二维码里的艺术 - 逼近可扫描极限的设计世界
为什么二维码里能嵌进艺术
在二维码上叠加插画或标志仍然能扫出来,原因在于纠错能力。二维码采用名为 Reed-Solomon 码的纠错算法,即使码面局部被污染或破损,也能把数据还原出来。在纠错等级 H(最高)下,数据(码字)丢掉约 30%,依然可以正确复原。这个 30% 是相对数据而言的比例,并不等于可以把码面的 30% 涂掉。
把这「30% 的余量」不用于抵挡污损,而是拿来放艺术,就是设计二维码的基本原理。在中央放置标志、把模块(黑白的点)的形状改成圆形或星形、让颜色带上渐变,只要改动落在纠错能力可以吸收的范围内,扫描就仍会成功。换句话说,设计的自由度是从纠错这份预算里借出来的,借得越多,抵挡真实污损的余力就越少。
艺术二维码的技法与实例
艺术二维码的技法大致可分成三类。
1. 叠加式:在普通二维码的正中央叠上标志或图片,是最简单的手法。中央部分的数据密度相对较低,安全起见一般控制在 20% 左右,若以纠错等级 H 为前提,覆盖到 25% 左右的面积通常也不会妨碍读取。企业的品牌二维码里用得最广。
2. 模块变形式:把黑白的正方形模块改成圆形、菱形、心形等形状。只要模块的中心位置和明暗对比得以保持,即使外形不是正方形,读取设备照样能识别。时尚品牌和活动请柬里经常这样用。
3. 全画面艺术式:在维持二维码结构的同时,让整幅画面与插画或照片彻底融合,是难度最高的技法。2023 年前后,利用 Stable Diffusion 等图像生成 AI 把二维码的图案溶进风景画或人物肖像的做法开始受到关注。用 ControlNet 的 QR Code Monster 模型,可以生成乍看只是一幅画、把手机举上去却能扫出来的作品。
扫不出来的那条界线 - 失败模式分析
艺术二维码最大的风险,是落到「好看但扫不出来」这种本末倒置的结果。把失败案例摊开来分析,主要原因浮现出三条。
改动了定位图案:位于二维码三个角上的方形嵌套图案(寻像图形),是读取设备判断「这是一个二维码」的最重要依据。为了设计去改动这里,设备会连它是不是二维码都认不出来。唯有寻像图形绝对不能碰,这是铁律。
对比不足:把模块的颜色调成淡淡的马卡龙色,或缩小它与背景的明暗差,摄像头就无法分辨黑白的边界。一味追求视觉效果,让深色模块与浅色模块的对比度掉到 3:1 以下,读取失败率会陡然上升。
超出纠错的极限:标志叠加的面积过大、模块变形过于剧烈,这类超出纠错容许范围的改动,理所当然会导致无法扫描。作为安全余量,实务上的经验值是:选用纠错等级 H,并把改动面积控制在 20% 以内。还要留意改动的分布:把损伤集中在一处,比分散到整个码面更容易超出单个数据块的纠错上限。
AI 生成艺术二维码带来的冲击
2023 年出现的 AI 生成艺术二维码,从根本上颠覆了设计二维码的概念。以往的思路是「把艺术放到二维码上面」,而 AI 生成采取的是「把二维码的结构织进艺术里面」这一相反的路径。
技术上,是用 Stable Diffusion 的 ControlNet 扩展功能,把二维码的图案当作「条件」来约束图像生成。生成出的画面在人眼里是赛博朋克风的都市景观或浮世绘风的风景画,但把手机摄像头举上去,它会被识别为二维码。
这项技术的局限在于,生成结果的读取成功率并不稳定。即使提示词与随机种子完全相同,每次生成的图像也会有细微差异,能扫的和不能扫的混在一起。实用上必须加入一道工序:反复生成多张,从中挑出通过扫描测试的那一张。另外,读取精度会随手机型号和相机 App 而变,用多台设备实测是不可省略的。
安全制作设计二维码的 5 条原则
在实务中使用艺术二维码时,守住以下 5 条原则,就能让视觉效果与可读性并存。
- 死守寻像图形:三个角上的定位图案一律不动。这里一崩,纠错等级再怎么往上调也扫不出来
- 选用纠错等级 H:为了最大限度吸收设计改动带来的「损伤」,始终选最高的那一级
- 改动面积安全起见控制在 20% 左右:以纠错等级 H 为前提时上限的经验值约为 25%。理论上能复原的相当于数据(码字)的 30%,但这并不等于可以覆盖面积的 30%
- 维持 4:1 以上的对比度:确保深色模块与浅色模块之间有足够的明暗差。逆光或印刷浓度下降叠加时,把余量留到 7:1 以上。WCAG 的文字对比标准(4.5:1)是为阅读文字的人设定的另一套标准,与解码器的阈值判定属于不同领域
- 至少在 5 种机型上做扫描测试:用 iPhone、多款 Android 机型以及不同的相机 App 逐一确认。在一台上成功、换一台就失败的情况并不罕见