MCQRScan
一个轻量级的二维码扫描识别工具类,已解耦合,核心代码很少,易于理解,还支持自定义自己的界面 UI 样式。
一. 使用
简单构建一个二维码扫描界面
// 添加扫描时显示摄像头画面的 view
_scanView = [[MCScanUIView alloc] initWithFrame:self.view.bounds];
_scanView.scanRect = CGRectMake(kX, kY, kW, kH);
[self.view addSubview:_scanView];
// 创建二维码扫描工具
_qrScaner = [[MCQRScaner alloc] init];
// 绑定摄像显示的 preview
[_qrScaner addPreview:preview];
// 打开相机识别二维码
[_qrScaner openCarmeraToScanQR:^(NSString * _Nonnull code) {
NSLog(@"code: %@", code);
}];
默认情况下,当二维码出现在屏幕上时会开始识别。如果想要在二维码进入边框后再进行识别,可以添加如下代码:
[_qrScaner setScanRetangleRect:CGRectMake(kX, kY, kW, kH)];
具体代码请参见 Demo 代码。
二. 核心类
MCQRScaner
提供识别二维码的全部功能,包括使用相机识别二维码、从图片中识别二维码、检测当前相机环境的亮度:
1.打开二维码识别:
/**
开启二维码扫描
@param complete 扫描到二维码的回调
*/
- (void)openCarmeraToScanQR:(MCQRScanerCompleteBlock )complete;
2.从图片识别二维码
/**
从图片中识别二维码
@param image 二维码图
*/
- (NSString *)scanQRFromImage:(UIImage *)image;
3.检测当前拍摄环境的亮度,可用于在较暗的环境下打开闪光灯
/**
开启亮度检测
@param monitorBlock 检测回调,可用于环境比较暗的时候开启闪光灯
*/
- (void)monitorBrightness:(MCQRScanerMonitorBrightnessBlock )monitorBlock;
MCScanUIView
提供了一个二维码扫描界面方框绘制的示例代码,代码简单,易于理解,可以自定义。
MCQRScanController
基于 MCQRScaner
与 MCScanUIView
开发的一个简单二维码扫描界面,通过它你可以更好地理解如何将 MCQRScaner
与 MCScanUIView
结合使用来构建一个二维码扫描界面,当然你也可以直接使用 MCQRScanController
来实现类似效果。
作者
杭州魔厨科技-青芒小组[email protected]