二维码
2015-11-13 16:09
204 查看
蓝色地方代表的纠错区域,可以显示纠错级别
黄色代表我们的数据区域,可以显示我们的数据
黑色区域代表用定位,把数据和纠错划定在一范围
二维码存储的数据是字符串。
我们目前开发主要应用在哪方面
1、微信 信息的获取
2、网页跳转(目前应用最为广泛,通过跳转网页,获得更多信息)
3、广告推送(二维码中内藏一张图片,纠错能力低)
4、手机电商(用于记录你下单的信息)
5、优惠促销
使用库
1、Zxing
优点
扫描识别率高
缺点
不能扫描条形码
集成复杂
2、Zbar(一般使用此第三方库)
条形码容错 可以达到30%
优点
集成速度快,难度低
可以扫描条形码
缺点
识别率差(也不差太多)
示例
1 . 生成二维码使用第三方库libqrencode生成二维码
代码如下:
- (IBAction)createBarCodeBtnClicked:(id)sender { //1.生产二维码 导入库 libqrencode //2.导入头文件#import "QRCodeGenerator.h" //3.把一个文本字符串转化为 二维码图片 /** * 第一个参数 要转化为二维码的字符串 2 生产二维码的尺寸大小 */ //转为 二维码的图片 UIImage *image = [QRCodeGenerator qrImageForString:self.contentTF.text imageSize:300]; self.outImgV.image = image; //保存到相册 后面三个参数 可以什么都不写 //UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); //第一个参数是UIImage 对象 //第二个参数是 任意对象地址 //第三个参数是 保存之后 会让 第二个参数调用 第三个参数对应的方法 UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); }
//保存图片之后 会调用 结果 - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo { if (error) { NSLog(@"保存失败:%@",error); }else{ NSLog(@"保存成功!"); } }
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [[UIApplication sharedApplication].keyWindow endEditing:YES]; }
使用第三方库ZBar进行二维码的生成和扫描,其中需要导入一些系统库文件
示例代码如下:
- (IBAction)scan:(id)sender { //ZCZBarViewController 是扫描控制器类 ZCZBarViewController*vc=[[ZCZBarViewController alloc]initWithIsQRCode:NO Block:^(NSString *result, BOOL isFinish) { if (isFinish) { NSLog(@"最后的结果%@",result); self.resultLabel.text=result; } }]; //当前视图推出ZCZBarViewController控制器,会显示扫描视图,选择进行扫描 [self presentViewController:vc animated:YES completion:nil]; } - (IBAction)createBarCode:(id)sender { [ZCZBarViewController createImageWithImageView:self.outImgV String:self.inputTextView.text Scale:4]; }
相关文章推荐
- 机器学习 最小二乘学习法 matlab
- mysql InnoDB锁等待的查看及分析
- linux配置:直接用VIM默认打开文件
- core包中的类及代码分析
- Xcode升级后插件失效及7.1菜单不显示Alcatraz的解决方法
- 系统学习struts2
- 在Ubuntu环境下的JDK安装笔记
- bootstrap使用之多个弹窗和拖动效果[开发篇]
- 停止某个机房所有机器上包的脚本 pack_idc_stop.py
- oracle 11.2.0.1.0 升级 11.2.0.4.0 并 patch 到11.2.0.4.7
- ci get_instance()
- 老李分享:性能测试过程
- LeetCode 刷题 -- 反转一个单链表
- 【经典面试题】给一组数,只有两个数只出现了一次,其他所有数都是成对出现的。怎么找出这两个数
- 在Ubuntu中安装软件遇到的问题
- ubuntu图下安装软件出现You might want to run 'apt-get -f install' to correct these解决
- myBatis
- HDOJ 3635 Dragon Balls(并查集)
- 【NVIDIA Jetson TK1】二,TK1开发板安装CUDA与opencv
- one代码框架学习