qrcode-matrix 0.2.1 → 1.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +42 -36
  2. package/dist/qrcodeMatrix.umd.js +1298 -1297
  3. package/dist/qrcodeMatrix.umd.min.js +6 -0
  4. package/lib/encode/sjis.d.ts +2 -2
  5. package/lib/encode/sjisData.d.ts +2 -2
  6. package/lib/encode/utf-8.d.ts +2 -2
  7. package/lib/index.d.ts +5 -5
  8. package/lib/lib/BitBuffer.d.ts +9 -9
  9. package/lib/lib/QRMatrix.d.ts +10 -10
  10. package/lib/lib/bch-encode.d.ts +31 -31
  11. package/lib/lib/draw.d.ts +4 -4
  12. package/lib/modes/Alphanumeric.d.ts +3 -3
  13. package/lib/modes/Byte.d.ts +3 -3
  14. package/lib/modes/Kanji.d.ts +3 -3
  15. package/lib/modes/Numeric.d.ts +3 -3
  16. package/lib/modes/mode.d.ts +6 -6
  17. package/lib/qrcode.d.ts +19 -19
  18. package/{dist → lib}/qrcodeMatrix.es.js +1296 -1295
  19. package/{dist → lib}/qrcodeMatrix.js +1301 -1294
  20. package/lib/utils.d.ts +26 -26
  21. package/package.json +7 -8
  22. package/LICENSE +0 -21
  23. package/lib/encode/sjis.js +0 -113
  24. package/lib/encode/sjisData.js +0 -4
  25. package/lib/encode/utf-8.js +0 -23
  26. package/lib/index.js +0 -37
  27. package/lib/lib/BitBuffer.js +0 -39
  28. package/lib/lib/QRMatrix.js +0 -31
  29. package/lib/lib/bch-encode.js +0 -466
  30. package/lib/lib/draw.js +0 -49
  31. package/lib/modes/Alphanumeric.js +0 -49
  32. package/lib/modes/Byte.js +0 -25
  33. package/lib/modes/Kanji.js +0 -46
  34. package/lib/modes/Numeric.js +0 -43
  35. package/lib/modes/mode.js +0 -2
  36. package/lib/qrcode.js +0 -124
  37. package/lib/utils.js +0 -379
  38. package/src/.DS_Store +0 -0
  39. package/src/encode/.DS_Store +0 -0
  40. package/src/encode/sjis.ts +0 -121
  41. package/src/encode/sjisData.ts +0 -2
  42. package/src/encode/utf-8.ts +0 -30
  43. package/src/index.ts +0 -33
  44. package/src/lib/BitBuffer.ts +0 -70
  45. package/src/lib/QRMatrix.ts +0 -39
  46. package/src/lib/bch-encode.ts +0 -639
  47. package/src/lib/draw.ts +0 -77
  48. package/src/modes/Alphanumeric.ts +0 -55
  49. package/src/modes/Byte.ts +0 -30
  50. package/src/modes/Kanji.ts +0 -56
  51. package/src/modes/Numeric.ts +0 -47
  52. package/src/modes/mode.ts +0 -6
  53. package/src/qrcode.ts +0 -237
  54. package/src/utils.ts +0 -459
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # qrcode-matrix
2
- > `qrcode-matrix` 是QR码矩阵数据生成库, 最终生成QR码的点阵数组.
2
+ > `qrcode-matrix` 是QR码矩阵数据生成库, 最终生成QR码的点阵.
3
3
  > 非一步到位生成二维码图片, 主要用于二维码图片生成/美化, 矢量图片二维码生成等场景
4
4
 
5
5
  特点:
@@ -7,53 +7,59 @@
7
7
  - 支持转为`GBK`编码保存(实际上已经剥离出了数据转换部份,存任何编码方式都很方便)
8
8
  - 提供精简版(gzip 5.2k),只保留`Byte`(utf8)模式;
9
9
  - './onlyUTF8.js' or './dist/qrcodeMatrix.utf8.js'
10
-
10
+
11
+ > 生成的点阵用的是[BitMatrix](https://github.com/cnwhy/BitMatrix)库,其基于`ArrayBuffer`实现以节约内存,但只适用于`ES6`以上的环境。
11
12
  ## demo
12
13
  ```js
13
- var QRCode = require('qrcode-matrix');
14
+ var QRCode = require('../').default;
14
15
  var qrcode = QRCode({
15
16
  errorCorrectionLevel: 'M', //纠错等级 默认M 'L','M','Q','H' -> [1,0,3,2]
16
- typeNumber: 0, //QR码版本 默认0 (自动) 1 to 40
17
+ typeNumber: 2, //QR码版本 默认0 (自动) 1 to 40
17
18
  minTypeNumber: 0, //最小typeNumber版本,当typeNumber自动时才有效
18
19
  maskPattern: 'auto', //掩模 'random','auto' [0-7]
19
20
  dataMode: 'Byte' //默认数据类型, 参看 QRCode.QRModes 对像
20
21
  });
21
22
  qrcode.setData('1234');
22
- var date = qrcode.make(); // 一个布尔值的二维数组
23
+ var matrix = qrcode.make(); // 一个布尔值的二维点阵对像
23
24
 
24
25
  //在控制台打印出二维码试试 (我的控制台是黑色背景,所以我加上了一圈边框)
25
- var $0 = '◼︎ ',
26
+ var $0 = '8 ',
26
27
  $1 = ' ';
27
- console.log($0.repeat(date.length + 2));
28
- date.forEach(function(v, i) {
29
- let str = v.map(item => (item ? $1 : $0)).join('');
28
+ console.log($0.repeat(matrix.width + 2));
29
+ for(var r =0; r<matrix.height; r++){
30
+ let row = matrix.getRow(r);
31
+ let str = row.map(item => (item ? $1 : $0)).join('');
30
32
  console.log($0 + str + $0);
31
- });
32
- console.log($0.repeat(date.length + 2));
33
+ }
34
+ console.log($0.repeat(matrix.width + 2));
33
35
  /*
34
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
35
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
36
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
37
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
38
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
39
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
40
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
41
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
42
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
43
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
44
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
45
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
46
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
47
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
48
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
49
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
50
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
51
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
52
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
53
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
54
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
55
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
56
- ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎ ◼︎
36
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
37
+ 8 8 8 8 8
38
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
39
+ 8 8 8 8 8 8 8 8 8 8 8 8 8
40
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
41
+ 8 8 8 8 8 8 8 8 8 8 8 8 8
42
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
43
+ 8 8 8 8 8 8 8 8
44
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
45
+ 8 8 8 8 8 8 8 8 8 8 8 8 8
46
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8
47
+ 8 8 8 8 8 8 8 8 8 8 8 8 8
48
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
49
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8
50
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
51
+ 8 8 8 8 8 8 8 8 8 8
52
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
53
+ 8 8 8 8 8 8 8 8 8 8 8 8
54
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
55
+ 8 8 8 8 8 8 8 8 8 8 8 8
56
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
57
+ 8 8 8 8 8 8 8 8 8
58
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8
59
+ 8 8 8 8 8 8 8 8 8 8 8
60
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
61
+ 8 8 8 8 8 8 8 8 8 8
62
+ 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
57
63
  */
58
64
  ```
59
65
 
@@ -91,7 +97,7 @@ console.log(Object.keys(QRCode_utf8.QRModes));
91
97
 
92
98
  ### qucode.setData(data,mode) //重新添加数据 会移除之前的数据
93
99
 
94
- ### qucode.make() //根据添加的数据生成QR码的二维数组
100
+ ### qucode.make() //根据添加的数据生成QR码的二维点阵对像
95
101
 
96
102
  ### qucode(data,mode) //一个语法糖
97
103
  ```js
@@ -101,7 +107,7 @@ return qucode.make();
101
107
  ```
102
108
 
103
109
  ### qucode.splitMake() //拆分QR码的二维数组 将返回一个对像
104
- - `all` : 所有数据 `make` 方法返回的二维矩阵相同
110
+ - `all` : 所有数据 `make` 方法返回的二维点阵相同
105
111
  - `data` : 除探测相并数据 的其它数据
106
112
  - `allDiscover` : 所有定位,矫正 等数据
107
113
  - `positionProbe` : 定位图数据