首页 / IOS / iOS二维码,条形码扫描问题
iOS二维码,条形码扫描问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS二维码,条形码扫描问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2315字,纯文字阅读大概需要4分钟。
内容图文
1.公司做一个二维码条形码扫描的项目,遇到二维码扫描很好识别,条形码扫描有点慢
解决办法:device放大焦距(完美解决)
//获取摄像设备
AVCaptureDevice * device = [AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeVideo];
//创建输入流
AVCaptureDeviceInput * input = [AVCaptureDeviceInputdeviceInputWithDevice:device error:nil];
//创建输出流
AVCaptureMetadataOutput * output = [[AVCaptureMetadataOutputalloc]init];
//设置代理在主线程里刷新
[output setMetadataObjectsDelegate:selfqueue:dispatch_get_main_queue()];
output.rectOfInterest = scanCrop;
// [ output setRectOfInterest : CGRectMake (( 124 )/ ScreenHEI ,(( ScreenWHD - 220 )/ 2 )/ ScreenWHD , 220 / ScreenHEI , 220 / ScreenWHD )];
//初始化链接对象
session = [[AVCaptureSessionalloc]init];
//高质量采集率
[sessionsetSessionPreset:AVCaptureSessionPresetHigh];
if (input) {
[sessionaddInput:input];
}
if (output) {
[sessionaddOutput:output];
//设置扫码支持的编码格式(如下设置条形码和二维码兼容)
NSMutableArray *a = [[NSMutableArrayalloc] init];
if ([output.availableMetadataObjectTypescontainsObject:AVMetadataObjectTypeQRCode]) {
[a addObject:AVMetadataObjectTypeQRCode];
}
if ([output.availableMetadataObjectTypescontainsObject:AVMetadataObjectTypeEAN13Code]) {
[a addObject:AVMetadataObjectTypeEAN13Code];
}
if ([output.availableMetadataObjectTypescontainsObject:AVMetadataObjectTypeEAN8Code]) {
[a addObject:AVMetadataObjectTypeEAN8Code];
}
if ([output.availableMetadataObjectTypescontainsObject:AVMetadataObjectTypeCode128Code]) {
[a addObject:AVMetadataObjectTypeCode128Code];
}
output.metadataObjectTypes=a;
}
/*
[ _output setRectOfInterest : CGRectMake (( 124 )/ ScreenHigh ,(( ScreenWidth - 220 )/ 2 )/ ScreenWidth , 220 / ScreenHigh , 220 / ScreenWidth )];
*/
AVCaptureVideoPreviewLayer * layer = [AVCaptureVideoPreviewLayerlayerWithSession:session];
layer.videoGravity=AVLayerVideoGravityResizeAspectFill;
layer.frame = CGRectMake(0, 0, [UIScreenmainScreen].bounds.size.width, self.ScanReadView.frame.size.height);
[self.ScanReadView.layerinsertSublayer:layer atIndex:0];
[selfsetOverlayPickerView:self.ScanReadView];
//放大焦距
NSError *error = nil;
[device lockForConfiguration:&error];
if (device.activeFormat.videoMaxZoomFactor > 2) {
device.videoZoomFactor = 2;
}else{
device.videoZoomFactor = device.activeFormat.videoMaxZoomFactor;
}
[device unlockForConfiguration];
//开始捕获
[sessionstartRunning];
原文:http://www.cnblogs.com/coolcold/p/5775276.html
内容总结
以上是互联网集市为您收集整理的iOS二维码,条形码扫描问题全部内容,希望文章能够帮你解决iOS二维码,条形码扫描问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。