【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 这样就可以了

还有就是要支持ios4.3的话就要设置一下C++Standard Library  为  libstdc++  这样就可以支持4.3的版本 

在线生成二维码的网站: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

与TCP有关的面试内容

以下内容源于网络资料的学习与整理。 参考博客 TCP/IP四层模型 - BlueTzar - 博客园(OSI参考模型和TCP模型的详解,包括格式) TCP/IP协议-为什么说TCP是可靠连接_shuaixio的博客-CSDN博客(为什么可靠及优缺点) 两张动图…

登录后跳转到原页面

可以在点击登录页面时,进行url传值,比如从a.html到b.html,可以a.html?oldurlb.html 带有特殊符号、中文的可以加个encodeURIComponent()转载于:https://www.cnblogs.com/wuchao/p/3179350.html

c语言建立一个链表,每个结点包括姓名和成绩,求C语言几道题的答案~~拜托了~~...

#include#include#include#include#include#includevoid pause();typedef struct STUDENT{char studentNumber[20]; //学生学号char studentName[20]; //学生姓名char className[20]; //班级名称float chinese; //语文绩float maths; //数学成绩float english; //外语成绩float…

嵌入式面试中常见的编程题目

以下内容源于网络资料的学习整理,如有侵权,请告知删除。 目录 1、将字符串反转 2、数字翻转和回文判断 3、大小端问题 (1)判断大小端 (2)大小端转换 4、实现函数memcpy(), strcpy(), strcmp(), strc…

用复制mysql/data 文件夹 下面的数据库的形式来复制数据库出现的问题

用复制mysql/data 文件夹 下面的数据库的形式来复制数据库出现的问题 用复制mysql/data 文件夹 下面的数据库的形式来复制数据库出现的问题 提示找不到表,我去看了一下,丢失了很多个表; 问题: 直接拷贝data下的数据库数据进行备份…

回旋矩形C语言,C语言回旋函数解释下,该如何处理

当前位置:我的异常网 C语言 C语言回旋函数解释下,该如何处理C语言回旋函数解释下,该如何处理www.myexceptions.net 网友分享于:2013-06-08 浏览:30次C语言回旋函数解释下给定两个整数M,N,生成一个M*N的矩阵,矩阵中元…

JUnit4概述

JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在…

嵌入式面试中常见的问答题(线程进程、TCP等)

以下内容源于网络资料的学习整理,如有侵权,请告知删除。 一、线程、进程的区别联系 见https://blog.csdn.net/oqqHuTu12345678/article/details/72637318的表格 个人理解:进程相当于一个运行中的程序,线程相当于程序中的某些函数…

c语言读取文件到结构体数组,有关文件读写到结构体数组问题;

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼typedef struct IMG{char *name;int weight;int height;}IMG;这是我的结构体存的是 图片的名字 宽度 高度void readWeightHeight(void){FILE *fpbmp;//FILE *fpm;char filename[54];char *bmpname NULL;long Handle;int i 0;struc…

正则表达式30分钟入门教程(转)

分享到一键分享QQ空间新浪微博百度云收藏人人网腾讯微博百度相册开心网腾讯朋友百度贴吧豆瓣网搜狐微博百度新首页QQ好友和讯微博更多...百度分享首页 | 正则表达式30分钟入门教程 | 常用正则表达式| 正则表达式速查表 | 正则表达式测试工具 | 正则表达式 | 正则练习器在线版 正…

进程、线程简介

以下内容源于网络资源的学习整理,如有侵权,请告知删除。 参考博客 http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html(通俗理解) https://blog.csdn.net/chen_geng/article/details/51613445(表格…

使用keil建立标准STM32工程模版(图文详细版!)

1. 模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当你着手于较大的软件项目时&a…

android竖直和横向,如何在android中为纵向和横向模式定义不同的控件

定义,在这两种资源的文件出现在你的代码 并在onCreate()在所有视图中Activity可以检查方向绑定的意见,你的类的对象。示例。在这里我们有包含在这两个文件的ImageView的,并在画像文件有一个TextView和景观它包含Button代替TextViewmy_layout.…

正则表达式匹配多个字符串中的一个

正则表达式匹配多个字符串中的一个 当我们采集数据时&#xff0c;会用到正则匹配功能 (前缀)(?<content>[\s\S]*?)(后缀) 例如采集产品多图时&#xff0c;前缀与后缀部分一般情况下是不相同的&#xff0c;这就需要用到正则的“|” (href"|src")(?<conten…

与驱动有关的面试问题

以下内容源于网络资料的整理学习。 参考博客 嵌入式驱动那年的笔试面试-有干货_BeyondTheBoundary的博客-CSDN博客_芯动科技嵌入式笔试 嵌入式驱动工程师面试题集锦_shx516857593的博客-CSDN博客 嵌入式面试中可能问到的题目和答案整理&#xff08;内核驱动篇&#xff09;_…

爬虫那些事儿-- 简介

从事爬虫相关的工作已经两年多了。简要做下总结。 爬虫(Crawler)&#xff0c;有些也叫蜘蛛&#xff08;Spider&#xff09;&#xff0c;用来从互联网下载网页。是搜索引擎的重要组成。爬虫是搜索引擎的数据来源&#xff0c;是数据的入口。爬虫的基本思想是认为整个互联网类似于…

android模拟机新闻APP,DavidTGNewsProject

DavidTGNewsProject##【Android】最新主流新闻app功能实现。仿网易,搜狐等新闻客户端(原创作品&#xff0c;转载请说明出处)先给大家看一下效果图&#xff1a;这个项目总体来说虽然不是特别难&#xff0c;但是确实非常常用的功能。是业余时间自己写的一个小项目。以前我们写的时…

轻操作动作休闲单机游戏《狂斩三国2》评测

游戏类别&#xff1a;动作休闲单机游戏时隔一年&#xff0c;曾在国内和台湾手游市 场获得top1佳绩的《狂斩三国》再度归来&#xff01;其策略加动作的独特玩法在当时颠覆了玩家们对三国游戏的阵营认知。比传统策略更简单明快&#xff0c;比传统动作无脑砍更 具思考乐趣&#xf…

物联网简介

以下内容源于朱有鹏老师课程的学习整理&#xff0c;如有侵权&#xff0c;请告知删除。 本文档提供下载&#xff1a;提取码1111——物联网简介 1、什么是物联网 1.1.物联网的概念和发展历程 1.1.1、认识物联网 &#xff08;1&#xff09;百度百科中物联网定义 &#xff08;…

php计算代码运行时间与内存使用的一段代码

计算运行时间及内存使用&#xff0c;代码如下&#xff1a; <?php //开始计时 $HeaderTime microtime(true);//参数true表示返回浮点数值//代码//...printf(" total run: %.2f s<br>". "memory usage: %.2f M<br> ", microtime(true)-$Hea…