forked from finally-vince/ZXingMini
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'feature/v2' into develop
- Loading branch information
Showing
52 changed files
with
974 additions
and
1,386 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,103 +1,36 @@ | ||
# ZXingMini ZXing开源库的精简版 | ||
|
||
基于ZXing Android实现的二维码扫描支持库。 | ||
包括`生成二维码图片`和`相机扫描二维码图片即时解码`两部分功能。 | ||
包括`生成二维码图片`、`解析二维码图片`和`相机扫描即时解码`三部分功能。 | ||
|
||
## 本项目作以下优化: | ||
## 与原ZXingMini项目对比 | ||
|
||
1. 已创建QRCode Library,可以直接通过dependencies引入依赖使用。 | ||
2. 精简ZXing官方项目的例子,app模块为完整使用演示代码; | ||
- NextQRCode做了重大架构修改,原ZXingMini项目与当前NextQRCode不兼容; | ||
- 相机扫描即时解码模块,使用Camera2包; | ||
|
||
## 依赖 | ||
|
||
## 生成二维码图片 | ||
|
||
ZXingMini已对ZXing生成二维码图做了封装,通过 QRCodeEncode 类可以将文本内容生成二维码图片。 | ||
|
||
```java | ||
|
||
final int dimension = 500; | ||
final QRCodeEncode encoder = new QRCodeEncode.Builder() | ||
.setBackgroundColor(0xFFFFFF) // 指定背景颜色,默认为白色 | ||
.setCodeColor(0xFF000000) // 指定编码块颜色,默认为黑色 | ||
.setOutputBitmapWidth(dimension) // 生成图片宽度 | ||
.setOutputBitmapHeight(dimension) // 生成图片高度 | ||
.setOutputBitmapPadding(0) // 设置为没有白边 | ||
.build(); | ||
|
||
final Bitmap _QRCodeImage = encoder.encode("你的文本内容"); | ||
// 解码时间大概在 160ms 左右,建议用AsyncTask来处理。 | ||
|
||
``` | ||
|
||
## 对二维码图片解码 | ||
|
||
ZXingMini已对ZXing二维码解码部分做了封装。通过 QRCodeDecode 类可以将二维码图片解码为文本内容。 | ||
|
||
```java | ||
|
||
Bitmap _QRCodeImage = .... | ||
QRCodeDecode decoder = new QRCodeDecode.Builder().build(); | ||
String content = decoder.decod(_QRCodeImage); | ||
|
||
``` | ||
## 生成二维码图片 | ||
|
||
通常,二维码解码与相机联合使用。ZXingMini对相机管理的代码也做了简化,使用起来非常简单。只需要简单的几行代码,如下: | ||
|
||
```java | ||
#### 二维码图片新增特性 | ||
|
||
private QRCodeSupport mQRCodeScanSupport; | ||
###### 1、设置像素单位内边距 - Padding | ||
|
||
private final Handler mHandler = new Handler(); | ||
|
||
private final Runnable mDelayAutoTask = new Runnable() { | ||
@Override | ||
public void run() { | ||
mQRCodeScanSupport.startAuto(500); | ||
} | ||
}; | ||
###### 2、在二维码中间增加小图标 - CenterImage | ||
|
||
@Override | ||
protected void onCreate(Bundle savedInstanceState) { | ||
super.onCreate(savedInstanceState); | ||
Window window = getWindow(); | ||
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); | ||
setContentView(R.layout.activity_scan); | ||
|
||
ImageView capturePreview = (ImageView) findViewById(R.id.decode_preview); | ||
SurfaceView surfaceView = (SurfaceView) findViewById(R.id.capture_preview_view); | ||
###### 3、设置背景颜色 - BackgroundColor | ||
|
||
mQRCodeScanSupport = new QRCodeSupport(surfaceView, new QRCodeSupport.OnResultListener() { | ||
@Override | ||
public void onScanResult(String notNullResult) { | ||
Toast.makeText(QRCodeScanActivity.this, "扫描结果: " + notNullResult, Toast.LENGTH_SHORT).show(); | ||
} | ||
}); | ||
mQRCodeScanSupport.setCapturePreview(capturePreview); | ||
|
||
} | ||
###### 4、设置前景颜色 - ForegroundColor | ||
|
||
@Override | ||
protected void onResume() { | ||
super.onResume(); | ||
mQRCodeScanSupport.onResume(); | ||
mHandler.postDelayed(mDelayAutoTask, 500); | ||
} | ||
|
||
@Override | ||
protected void onPause() { | ||
super.onPause(); | ||
mQRCodeScanSupport.onPause(); | ||
mHandler.removeCallbacks(mDelayAutoTask); | ||
} | ||
} | ||
###### 5、增加Bitmap处理处理接口 - bitmapProcessor | ||
|
||
``` | ||
## 解析二维码图片 | ||
|
||
## 依赖 | ||
|
||
dependencies { | ||
... | ||
compile 'com.google.zxing:core:3.2.1' | ||
compile 'com.google.zxing:android-core:3.2.1' | ||
compile 'com.github.yoojia:zxing:0.7@aar' | ||
} | ||
## 相机即时解码 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
63 changes: 0 additions & 63 deletions
63
app/src/main/java/com/github/yoojia/zxing/app/CameraActivity.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.