三维码生成方法
二维码原理介绍
二维码一共有40个尺寸。官方叫版本Version。Version 1是21 x 21的矩阵,Version 2是 25 x 25的矩阵,Version 3是29的尺寸,每增加一个version,就会增加4的尺寸,公式是:(V-1)*4 + 21(V是版本号) 最高Version 40,(40-1)*4+21 = 177,所以最高是177 x 177 的正方形。
在Version 1的尺寸下,纠错级别为H的情况下,编码: AC-42
- 从字符索引表中找到 AC-42 这五个字条的索引 (10,12,41,4,2)
- 两两分组: (10,12) (41,4) (2)
3.把每一组转成11bits的二进制:
(10,12) 1045+12 等于 462 转成 00111001110
(41,4) 4145+4 等于 1849 转成 11100111001
(2) 等于 2 转成 000010 - 把这些二进制连接起来:00111001110 11100111001 000010
- 把字符的个数转成二进制 (Version 1-H为9 bits ): 5个字符,5转成 000000101
- 在头上加上编码标识 0010 和第5步的个数编码: 0010 000000101 00111001110 11100111001 000010
升级为三维码
我们通过二维码算法得到0010 000000101 00111001110 11100111001 000010等二进制数据,利用二维码二进制数据矩阵可获取宽度码点数量c1、高度码点数量c2。
将0000001100二进制矩阵用可区分两个色值表示,包括但不局限于黑色#000000与白色#FFFFFF。
通过码点数量c1、c2与img2尺寸可得到码点间距w2,码点尺寸w3。
利用图像合成技术与色值区分进行码点合成,其中二进制数据矩阵1可以代表#000000,0代表#FFFFFF,合成后得到二维码图像img3。
图像示例如下
可尝试扫描与作者进行合作