首页 > 代码库 > 通过CoreImage生成二维码

通过CoreImage生成二维码

从IOS7开始集成了二维码的生成和读取功能

生成二维码的步骤:

1.导入CoreImage框架

2.通过滤镜CIFilter生成二维码

二维码的内容(传统的条形码只能放数字):

纯文本

名片

URL

生成二维码示例代码如下:

// 1.实例化二维码滤镜
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];

// 2.恢复滤镜的默认属性 (因为滤镜有可能保存上一次的属性)
[filter setDefaults];

// 3.将字符串转换成NSdata
NSData *data = http://www.mamicode.com/[@"http://www.baidu.com" dataUsingEncoding:NSUTF8StringEncoding];

// 4.通过KVO设置滤镜, 传入data, 将来滤镜就知道要通过传入的数据生成二维码
[filter setValue:data forKey:@"inputMessage"];

// 5.生成二维码
CIImage *outputImage = [filter outputImage];

UIImage *image = [UIImage imageWithCIImage:outputImage];

// 6.设置生成好得二维码到imageview上
self.iv.image = image;

通过CoreImage生成二维码