abox.tools

语言: 简体中文

怎么做一个到了别人手机上还扫得出来的二维码

做个二维码是一秒钟的事。做一个在湿漉漉的菜单上、在公交站牌上、在昏暗光线下一臂之外还扫得出来的二维码,得先定四件事,而且四件都在开印之前。下面讲的就是每一件到底管什么。

打开二维码与条形码生成 打进去,就变成一个码。生成过程不往外送任何东西。

以 Markdown 查看

先说结论

打开二维码与条形码生成,把链接粘进去,等级保持 M,留白保持 4,下载那个 SVG。印出来至少两厘米宽,用哑光材质,深色在浅色上。订一千份之前,先拿一部不是你自己的手机,扫一下印出来的那张。

绝大多数情况到这儿就完了。这一页剩下的部分是给例外准备的:要经得起反复摸的码、中间要放 logo 的码、要贴在很小的东西上的码,还有一个特别容易做错、又得等上一年才发现的决定。

二维码里到底装着什么

一串字符,就这么点东西。扫一个二维码,等于把一段文本递给手机。之后打开网页也好,连上网络也好,问你要不要存联系人也好,都是手机认出了这段文本的样子,然后主动提议照着办。

所以根本没有“Wi-Fi 二维码”这么一个码种。有的只是一个普通二维码,里面装着 WIFI:T:WPA;S:My Network;P:the password;;,而近十年出的手机都认得它。生成器把拼好的那串字符摆出来给你看,正是为了这个:码没干出你以为它会干的事时,值得看的只有那串字符。

这也意味着,二维码一旦印出来就改不了,不会往家里打电话,也不会过期。除非有人往里面塞了一个指向他们自己服务器的链接,而那正是本页最后一节要说的事。

一枚做好的二维码,下面是它的信息:码制、版本、纠错等级和容纳的字符数。
码里有什么,用这篇指南后面会用到的说法讲了一遍。版本随内容一起变大,下面那两个设置之所以重要,正是因为这一点。

第一件事:纠错等级

二维码在数据旁边还带着一组校验码字,算法让读取器能把没看清的部分重建出来。一个缺了角的码还能扫出来,靠的就是它。校验码字放多少,就是等级,一共四档:

DENSO 以全部码字为分母定义这些百分比,并非任意模块或图像面积。检测图形受损可能使扫描在纠错前就失败。更高纠错能力也需要更多空间:相同内容通常会生成更密集或更大的符号。

L 给屏幕用:幻灯片里、邮件里、网页上的码。没什么东西会去损坏它,而每多一个模块,隔远了就更难读。

M 是默认值,也是大多数印刷品的正确答案。会被人拿在手里翻两下的纸、传单、名片。

Q 和 H 留给会被折腾的码:每天要擦一遍的菜单、贴在车间机器上的标签、板条箱上的标贴、晒得到太阳的橱窗里的码。中间能放 logo,也得靠 H,下面还会讲。

二维码选项:纠错等级菜单设在中等,静区为四个模块。
两者都关乎这枚码能否在现实世界里活下来,一道折痕、一个标志、一次糟糕的印刷,而且两者都在绘制之前就定好了。

第二件事:留白,它是码的一部分

二维码周围那圈白,不是内边距,也不是设计选择。读取器靠它判断这个图形到哪儿为止。规范要求四边各留四个模块的静区,而一个被裁到边的码,是印出来的码失灵最常见的单一原因。

这话值得说得直白些,因为裁掉它实在太顺手了。码看着周围白得太多,于是在版式里被裁了一刀,或者被扔到一块一直铺到方块边上的彩色底上,或者干脆放到一张照片上。这几种做法,每一种都把读取器本来要用的那条边界拿走了。

连着留白显得太大,那就把码做小。别动那圈留白。

第三件事:印多大

经得起现实检验的那条经验法则是一比十:码的宽度,大约要有扫描距离的十分之一。

两厘米是底线,不是目标。小到 1.5 厘米以下,印得再好,普通手机也开始吃力,因为单个模块的尺寸已经逼近它摄像头里一个像素了。

文字少,模块就少;模块少,同样的印刷尺寸就能在更远处读出来。所以码该指向 example.com/x,而不是一个末尾挂着一百个字符跟踪参数的网址。

另外,印刷请用 SVG。二维码是由边缘构成的,而 PNG 只有固定数量的像素来拼这些边缘,放大之后每条边都发虚,而发虚恰恰是扫描器最头疼的。SVG 是以指令表达的方块,印在名片上和印在广告牌上一样锐利。

颜色、对比度,以及常见的两个错

读取器量的是深色模块和浅色模块之间的差别,所以对比度就是全部。有两件事经常出错:

深底上的浅色码。看着是挺抓眼,可相当多的读取器直接不认:它们找的是浅底深图,不会去试反相。有些会试。而你的客户手上是哪一种,你根本不知道。

差别不够大。白底中灰,或者两个分量相近的品牌色,在屏幕上量着没问题,一旦印上纸,油墨扩散加上手机的自动曝光,就失灵了。真要给码上色,就让深的那部分深得够真。

凡是会在灯下被扫的东西,哑光胜过亮面,而这两者又都胜过印在一张照片上。要把码放到彩色底上,透明背景很好用,但记得看清最后垫在它后面的到底是什么,深底上的透明码,无非是上面那第一个错多绕了几道。

中间放一个 logo

小标志有时可行,但无法保证任何图像面积比例都安全。DENSO 所说 H 级约 30% 的恢复率以全部码字为分母,并非任意方块。保留定位和校正图形,使用 H 级,并用多部手机测试最终印刷品。DENSO 的纠错说明解释了这个比例。

选择 H 级并让标志保持较小。没有保证安全的面积比例:位置、版本、损坏分布和印刷质量都会影响结果。保留定位和校正图形,并用印刷样张判断设计能否可靠扫描。

然后拿真手机测。加了 logo,一个码就从“总是能用”变成了“在这么多余量下能用”,而想知道还剩多少余量,只能去试。

最容易让人后悔的那个决定:静态还是“动态”

搜二维码生成器,出来的结果大半想让你注册个账号,因为他们卖的是动态码。动态码里装的不是你的链接,是一个指向生成方自己服务器的短链接,再由那边跳到你这儿。

它换来的东西是真的:印出来之后你还能改这个码指向哪儿,而且每一次扫描都有计数。印量六位数的推广活动,这钱花得值。

它的代价也是真的,而且值得事前知道,别等事后:

折中办法一分钱都不用花:用你自己域名上的一个短网址做静态二维码,跳转由你自己来做。改目的地的能力还在,统计数据也还在,而这个码的任何一部分,都不取决于一家你素未谋面的公司明年还在不在。

这里的生成器只做静态码,也没有账号可注册。你打进去什么,码里就装什么。

印一千份之前

扫一下这个码。别扫屏幕上那个,扫印出来的打样,在它将要待的那个地方,用一部不是你做它时用的手机。这要花一分钟,却能一网打尽这一整页讲的所有毛病:被版式吃掉的留白、漏了 https:// 的链接、在纸上量出来完全不同的颜色、在桌上管用、上了墙就不管用的印刷尺寸。

还要看扫完之后会发生什么。扫出来是扫出来了,可打开的页面在手机上根本没法读,那也是个失败的码。

这些事一样都不用上传

二维码就是对一串字符做算术。没有文件要送,也没有哪件事是服务器能做而浏览器做不了的,所以这里的工具全都在你自己的机器上完成,拔了网线照样能用。

这一点比听上去要紧,因为人们往二维码里塞的是什么东西。Wi-Fi 那个格式最常见的用途,就是把一个网络的真实密码打进一个网页里。那个页面有没有地方可以把它送出去,值得先弄清楚。