共计 952 个字符,预计需要花费 3 分钟才能阅读完成。
前言
在近期的小程序开发中,有一个离线生成二维码的需求。当时想到了一些优秀的前端开源库 jquery-qrcode 和 node-qrcode,由于小程序中没有 DOM 的概念,这些库在小程序中并不适用。
所以,针对微信小程序的特点,封装了 weapp.qrcode.js,用于在小程序中快速生成二维码。
目录
- 创建 canvas 标签
- 调用绘制方法
- API 说明
附带推荐
二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等。这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章,揭露一下。供好学的人一同学习之。
首先,我们先说一下二维码一共有 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 的正方形。
定位图案
- Position Detection Pattern 是定位图案,用于标记二维码的矩形大小。这三个定位图案有白边叫 Separators for Postion Detection Patterns。之所以三个而不是四个意思就是三个就可以标识一个矩形了。
- Timing Patterns 也是用于定位的。原因是二维码有 40 种尺寸,尺寸过大了后需要有根标准线,不然扫描的时候可能会扫歪了。
- Alignment Patterns 只有 Version 2 以上(包括 Version2)的二维码需要这个东东,同样是为了定位用的。
功能性数据
- Format Information 存在于所有的尺寸中,用于存放一些格式化数据的。
- Version Information 在 >= Version 7 以上,需要预留两块 3 x 6 的区域存放一些版本信息。
数据码和纠错码
- 除了上述的那些地方,剩下的地方存放 Data Code 数据码 和 Error Correction Code 纠错码。
更多内容请阅读以下文字
推荐: 二维码的生成细节和原理
正文完
I really like what you guys are up too.