// 1.实例化二维码滤镜
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
// 2.恢复滤镜的默认属性 (因为滤镜有可能保存上一次的属性)
[filter setDefaults];
// 3.将字符串转换成NSdata
NSString *urlString = @"www.baidu.com";
NSData *data = [urlString dataUsingEncoding:NSUTF8StringEncoding];
// 4.通过KVO设置滤镜, 传入data, 将来滤镜就知道要通过传入的数据生成二维码
[filter setValue:data forKey:@"inputMessage"];
// 5.生成二维码
CIImage *outputImage = filter.outputImage;
CGFloat scale = CGRectGetWidth(QRCodeView.bounds) / CGRectGetWidth(outputImage.extent);
CGAffineTransform transform = CGAffineTransformMakeScale(scale, scale); // scale 为放大倍数
CIImage *transformImage = [outputImage imageByApplyingTransform:transform];
// 保存
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef imageRef = [context createCGImage:transformImage fromRect:transformImage.extent];
UIImage *qrCodeImage = [UIImage imageWithCGImage:imageRef];
// 6.设置生成好得二维码到imageView上
imageView.image = qrCodeImage;
36、[ iOS ] 生成二维码 系统方法
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 相信很多人在生成二维码的时候会发现 如果把二维码的尺寸放大一些就会发现图片变得模糊了,那么看一下 生成二维码的时候...