@@ -6,10 +6,12 @@ C++ port of ZXing for Android
66
77底层使用C++来处理图像及解析二维码,并且加入了OpenCV来解析图像,可以在更远的距离识别出二维码。
88
9+ ![ App展示] ( https://github.com/devilsen/CZXing/blob/master/screenshots/scan_code.gif )
10+
911### 使用
1012在gradle中:
1113``` groovy
12- implementation 'me.devilsen:CZXing:0.9.8 '
14+ implementation 'me.devilsen:CZXing:0.9.9 '
1315```
1416建议加入abiFilters
1517``` gradle
@@ -23,6 +25,10 @@ implementation 'me.devilsen:CZXing:0.9.8'
2325 }
2426 }
2527```
28+ 如果下载失败,可以在根目录加入阿里云的镜像
29+ ``` gradle
30+ maven { url 'https://maven.aliyun.com/repository/jcenter' }
31+ ```
2632
2733#### 1. 直接使用
2834你可以直接使用已经封装好的ScanActivity作为扫码界面
@@ -31,16 +37,21 @@ Resources resources = getResources();
3137List<Integer > scanColors = Arrays . asList(resources. getColor(R . color. scan_side), resources. getColor(R . color. scan_partial), resources. getColor(R . color. scan_middle));
3238
3339Scanner . with(this )
40+ .setMaskColor(resources. getColor(R . color. mask_color)) // 设置设置扫码框四周颜色
3441 .setBorderColor(resources. getColor(R . color. box_line)) // 扫码框边框颜色
42+ .setBorderSize(BarCodeUtil . dp2px(this , 200 )) // 设置扫码框大小
3543 .setCornerColor(resources. getColor(R . color. corner)) // 扫码框角颜色
3644 .setScanLineColors(scanColors) // 扫描线颜色(这是一个渐变颜色)
37- .setScanMode(ScanView . SCAN_MODE_TINY ) // 扫描区域
45+ .setScanMode(ScanView . SCAN_MODE_TINY ) // 扫描区域 0:混合 1:只扫描框内 2:只扫描整个屏幕
46+ .setBarcodeFormat(BarcodeFormat . EAN_13 ) // 设置扫码格式
3847 .setTitle(" My Scan View" ) // 扫码界面标题
3948 .showAlbum(true ) // 显示相册(默认为true)
40- .setBarcodeFormat(BarcodeFormat . EAN_13 ) // 设置扫码格式
4149 .setScanNoticeText(" 扫描二维码" ) // 设置扫码文字提示
4250 .setFlashLightOnText(" 打开闪光灯" ) // 打开闪光灯提示
4351 .setFlashLightOffText(" 关闭闪光灯" ) // 关闭闪光灯提示
52+ .setFlashLightOnDrawable(R . drawable. ic_highlight_blue_open_24dp) // 闪光灯打开时的样式
53+ .setFlashLightOffDrawable(R . drawable. ic_highlight_white_close_24dp) // 闪光灯关闭时的样式
54+ .setFlashLightInvisible() // 不使用闪光灯图标及提示
4455 .continuousScan() // 连续扫码,不关闭扫码界面
4556 .setOnClickAlbumDelegate(new ScanActivityDelegate .OnClickAlbumDelegate () {
4657 @Override
@@ -68,6 +79,8 @@ Scanner.with(this)
6879```
6980
7081#### 2. 自定义界面
82+ ![ 自定义界面展示] ( https://github.com/devilsen/CZXing/blob/master/screenshots/customize_scan_view.jpg )
83+
7184或者使用ScanView来自定义你的界面
7285``` xml
7386<me .devilsen.czxing.view.ScanView
@@ -91,24 +104,46 @@ mScanView.setScanListener(new ScanListener() {
91104});
92105```
93106
107+ 更多API请参考[ CustomizeActivity] ( https://github.com/devilsen/CZXing/blob/master/sample/src/main/java/me/sam/czxing/CustomizeActivity.java )
108+
94109#### 3. 生成二维码
110+ ![ 生成二维码] ( https://github.com/devilsen/CZXing/blob/master/screenshots/write_code.gif )
111+
95112调用以下代码,可生成二维码的bitmap,Color为可选参数,默认为黑色。
113+
114+ 简易调用
115+
96116``` java
97117BarcodeWriter writer = new BarcodeWriter ();
98118Bitmap bitmap = writer. write(" Hello World" , BarCodeUtil . dp2px(this , 200 ), BarCodeUtil . dp2px(this , 200 ), Color . RED );
99119```
100120
121+ 复杂调用
122+
123+ ``` java
124+ /**
125+ * 生成图片
126+ *
127+ * @param text 要生成的文本
128+ * @param width 图片宽
129+ * @param height 图片高
130+ * @param color 要生成的二维码颜色
131+ * @param format 要生成的条码格式
132+ * @param logo 放在中间的logo
133+ * @return 条码bitmap
134+ */
135+ private Bitmap write(String text, int width, int height, int color, BarcodeFormat format, Bitmap logo)
136+ ```
101137
102138### 效果展示
103- [ 点击观看 ] ( https://www.bilibili.com/video/av59888116 )
139+ [ 远距离扫码演示 ] ( https://www.bilibili.com/video/av59888116 )
104140
105141[ apk下载] ( https://github.com/devilsen/CZXing/releases )
106142
107143[ 设计思路] ( https://www.jianshu.com/p/e2866af44236 )
108144
109145## License
110146
111- Copyright (C) 2012 The Android Open Source Project
112147 Copyright 2019 Devilsen
113148
114149 Licensed under the Apache License, Version 2.0 (the "License");
0 commit comments