通过CoreImage生成二维码

时间:2023-01-14 14:33:26

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

生成二维码的步骤:

1.导入CoreImage框架

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

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

纯文本

名片

URL

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

// 1.实例化二维码滤镜
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; // 2.恢复滤镜的默认属性 (因为滤镜有可能保存上一次的属性)
[filter setDefaults]; // 3.将字符串转换成NSdata
NSData *data = [@"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;