【IOS】集成zxing(二维码扫描)
现在zxing已经到了2.2版本,以前的集成方式出了点问题。下面我做出一点修正。
以前的版本的集成方法,参考:http://blog.devtang.com/blog/2012/12/23/use-zxing-library/
按照以前的方式做好后 然后就是适配以下现在的版本的修改
1.增加 SenTestingKit 框架 设置为Optional
2.把目录 iphone/ZXingWidget 下的Tests删了
3.保留目录 cpp/core/src 的bigint文件
最后提醒: 设置查找路径时应该选择 User Header Search Paths 选项添加查找路径
保险一点把 Always Search User Paths 选为Yes 这样就可以了
在线生成二维码的网站:http://cli.im/
二维码扫描处理过程:
程序有一个回调方法获取屏幕图片,然后进行解析。扫描会不断获取屏幕图片去解析。
自定义扫描区域思路:
只要我们在回调方法里面将获取的整个屏幕图片截取某一个区域,就可以实现特定区域扫描功能
1 //回调方法 2 - (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection 3 { 4 // 第一步,将sampleBuffer转成UIImage 5 UIImage *image = [self imageFromSampleBuffer:sampleBuffer]; 6 // 第二步,用Decoder识别图象 7 [self decodeImage:image]; 8 } 9 10 #pragma mark - 截取图片 11 12 - (void)cutMapView:(UIView *)theView 13 14 { 15 16 //************** 得到图片 ******************* 17 18 CGRect rect = theView.frame; //截取图片大小 19 20 21 22 //开始取图,参数:截图图片大小 23 24 UIGraphicsBeginImageContext(rect.size); 25 26 //截图层放入上下文中 27 28 [theView.layer renderInContext:UIGraphicsGetCurrentContext()]; 29 30 //从上下文中获得图片 31 32 UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 33 34 //结束截图 35 36 UIGraphicsEndImageContext(); 37 38 39 40 41 42 //************** 存图片 ******************* 43 44 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); 45 46 NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSStringstringWithFormat:@"%@.png",@"jietu"]]; // 保存文件的名称 47 48 NSLog(@"filePath = %@",filePath); 49 50 //UIImagePNGRepresentation方法将image对象转为NSData对象 51 52 //写入文件中 53 54 BOOL result = [UIImagePNGRepresentation(image)writeToFile: filePath atomically:YES]; 55 56 NSLog(@"result = %d",result); 57 58 59 60 61 62 //*************** 截取小图 ****************** 63 64 CGRect rect1 = CGRectMake(90, 0, 82, 82);//创建矩形框 65 66 //对图片进行截取 67 68 UIImage * image2 = [UIImage imageWithCGImage:CGImageCreateWithImageInRect([image CGImage], rect1)]; 69 70 NSString *filePath2 = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSStringstringWithFormat:@"%@.png",@"jietu2"]]; // 保存文件的名称 71 72 NSLog(@"filePath = %@",filePath); 73 74 BOOL result2 = [UIImagePNGRepresentation(image2)writeToFile:filePath2 atomically:YES]; 75 76 NSLog(@"result2 = %d",result2); 77 78 79 80 //存入相册 81 82 //UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 83 84 } 85 86 87 //截取图片特定区域 88 /** 89 *从图片中按指定的位置大小截取图片的一部分 90 * UIImage image 原始的图片 91 * CGRect rect 要截取的区域 92 */ 93 - (UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect)rect { 94 CGImageRef sourceImageRef = [image CGImage]; 95 CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, rect); 96 UIImage *newImage = [UIImage imageWithCGImage:newImageRef]; 97 return newImage; 98 }
转载于:https://www.cnblogs.com/DannyApple/p/3940516.html
【IOS】集成zxing(二维码扫描)相关推荐
- Android项目如何集成ZXing二维码扫描功能
最近的项目有二维码扫描跳转网页的需求,就是利用手机摄像头,扫描并解析二维码内容,内容由生成二维码的时候定义,我项目现在的需求就是一个包含了网址的二维码,网上有生成二维码的工具,也可以自己开发一个. 搜 ...
- Android 集成zxing二维码扫描、自定义
项目主要有zxing的基本使用,包含扫描回调.连续扫描.自定义扫描框: 一.依赖库 implementation 'com.journeyapps:zxing-android-embedded:4.3 ...
- iOS原生实现二维码扫描
iOS原生实现二维码扫描 最近项目上需要开发扫描二维码进行签到的功能,主要用于开会签到的场景,所以为了避免作弊,我们再开发时只采用直接扫描的方式,并且要屏蔽从相册读取图片,此外还在二维码扫描成功签到时 ...
- zxing二维码扫描预览变形的解决方案
-----------------------------------2018.6.1更新--------------------------------------- 附上github地址: htt ...
- 自定义ZXing二维码扫描界面并解决取景框拉伸等问题
自定义ZXing二维码扫描界面并解决取景框拉伸等问题 参考文章: (1)自定义ZXing二维码扫描界面并解决取景框拉伸等问题 (2)https://www.cnblogs.com/tommylemon ...
- ios客户端学习-二维码扫描和应用跳转
转载至链接:http://sindrilin.com/ios-dev/2015/11/01/二维码扫描和应用跳转.html 序言 在iOS7之前,大部分应用中使用的二维码扫描是第三方的扫描框架,例如Z ...
- Android Zxing二维码扫描优化
关于Zxing的使用,网上有大量优秀的文章讲解,本文不再叙述. 用过Zxing的童鞋都知道Zxing扫描识别率较低,速度较慢.这里介绍一个第三方库,github地址为: https://github. ...
- iOS AV Foundation 二维码扫描 02 扫码
AVFoundation支持以下一维和二维码的扫描: QR code Aztec EAN13 EAN8 UPC-E PDF417 Code 93 Code 39 Code 39 mode 41 QR ...
- Android 基于Zxing二维码扫描的光速实现
Android 十分钟光速实现二维码扫描 前言 在项目中要使用到二维码的相关内容,我们第一时间想到的是使用大名鼎鼎的zxing或者ZBar开源框架: github-zxing官方库的地址 github ...
- iOS:源生二维码扫描和制作
MMScanner:iOS源生二维码扫描和制作工具,轻量级UI,UI也可根据属性自行修改.支持条形码扫描以及识别图片中的二维码,制作二维码可以指定颜色.大小.可嵌入logo. 使用 pod " ...
最新文章
- 中美5G竞争的未来路线图
- 离散化+unique()+二分查找
- Hibernate 性能优化之二级缓存
- debian安装java jdk_Linux(Centos、Debian)之安装Java JDK及注意事项(转)
- Mybatis源码笔记之浅析StatementHandler
- checkbox怎么判断是否选中
- java horizontalbarchart_Android-MPChart,HorizontalBarChart 水平柱状图颜色渐变
- JAVA获取文件本身所在的磁盘位置
- latex 左对齐_LaTeX从入门到提高(3)
- PSP1000/2000/3000 PSPgo全主机介绍(2)
- Solidworks教程:利用Simulation模拟热传导
- com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authen
- 新品推荐∣平行光源OPT-PL系列
- 提高pyautogui识图率的优化方案
- 2018-2019-2 20165205 网络对抗技术 Exp7 网络欺诈防范
- Codeforces Round #509 (Div. 2) F. Ray in the tube(思维)
- 作为程序员你脱发吗?
- AndServer浅显使用
- 东邪西毒 - 台词全本
- 职称计算机ppt2003大纲,全国职称计算机考试PowerPoint2003考试大纲
热门文章
- 树状数组维护区间和的模型及其拓广的简单总结
- 栈结构功能实现的伪码展示【数据结构F】
- STL源码剖析 基本算法 equal | fill | iter_awap | lexicographical_compare | max | min | swap |mismatch
- 中国经济转型知易行难
- C++知识点(六)数组、指针与字符串导学
- linux修改python默认版本
- Docker查看关联容器的卷宗在本机的存储位置
- python 笔记(三) 断言(assert)
- 常用的方法论-NPS
- sql server 保留小数,向上保留指定位数的小数,仅记录,勿看。