You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Position Detection Pattern(位置探测图形):位于三个角落,可以快速检测二维码位置,帮助我们从任何角度(斜着,倒着)扫码的时候,都能快速识别 Structure of Position Detection Pattern,如下图,可以看出所占的module比例,很重要(后面我们要据此找到最中间的3x3的module绘制随机色)
二维码小知识,基于node-qrcode实现彩色二维码
主要利用**qrcode进行了一些业务要求的功能扩展,实现彩色二维码**
对前端来说,有很多库可以实现展示二维码,设置logo、前景色背景色之类。比如:
其实已经有了这么多的库,已经可以满足我们各种各样的需求,但是满足不了PM的呀~.~。因为有了pm,所以有了接下里的二维码调研+实现。
因为此处二维码的功能是用海报系统对接的,所以实现一个最简单的二维码或者带logo的二维码都很容易
但PM要实现一种像后端一样的好看的二维码(上图三),为了满足PM,决定对海报系统的二维码进行优化。所以要对二维码原理有所了解,下面先讲解下二维码基本原理(编码+识别)不对具体实现做讲解,然后讲下如何利用node实现(如上图三)美化后的二维码.
二维码QRCode基本原理
二维码,基本可分为行排式二维条码和矩阵式二维条码。行排式二维码就是一维条形码,矩阵式二维码,最流行的就是QRCode,具有代表性的矩阵式二维条码有:Code One、MaxiCode、QR Code、 Data Matrix、Han Xin Code、Grid Matrix 等。QRCode 全名是 Quick Response Code,是一种可以快速识别的二维码。
1. Version、尺寸
QRCode 有不同的 Version ,不同的 Version 对应着不同的尺寸。将最小单位的黑白块称为 module。
常见的 QRCode 一共有40种尺寸:
QRCode 尺寸的公式如下:
2. 二维码结构组成
2.1 功能图形
功能图形是不参与编码数据的区域。它包含空白区、位置探测图形、位置探测图形分隔符、定位图形、校正图形五大模块。
Structure of Position Detection Pattern,如下图,可以看出所占的module比例,很重要(后面我们要据此找到最中间的3x3的module绘制随机色)
Notice: 但如果我们设置了宽度,module可以是浮点数x浮点数个像素组成(qrcode-scale计算)
2.2 编码区域
编码区域是数据进行编码存储的区域。它由格式信息、版本信息、数据和纠错码字三部分构成。
以上只对二维码基本概念做了些讲解,具体二维码编码过程不讨论(没了解透)
了解了一些基本概念,其实也可以实现PM的基本需求了,随机色+logo。
附:二维码为什么可以彩色?(简单来说,是通过灰度化和二值化,即把彩色图片经过灰度化和二值化变成只有黑白(只有0,1的矩阵)的数据,具体涉及到图像处理)
下面基于qrcode库用node实现彩色二维码+logo,具体请看
The text was updated successfully, but these errors were encountered: