您的位置:首页 > 其它

二维码

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];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: