//二维码生成且放到UIImageView显示
- (void)ciImageFromString:(NSString *)qrString imgView:(UIImageView *)imgView imgSize:(CGSize)size{
imgView.backgroundColor = [UIColor redColor];
imgView.contentMode = UIViewContentModeCenter;
NSData *stringData = [qrString dataUsingEncoding:NSUTF8StringEncoding];
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[filter setValue:stringData forKey:@"inputMessage"];
// 5.生成二维码
CIImage *outputImage = filter.outputImage;
CGFloat scale = size.width / 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上
imgView.image = qrCodeImage;
}
- (void)ciImageFromString:(NSString *)qrString imgView:(UIImageView *)imgView imgSize:(CGSize)size{
imgView.backgroundColor = [UIColor redColor];
imgView.contentMode = UIViewContentModeCenter;
NSData *stringData = [qrString dataUsingEncoding:NSUTF8StringEncoding];
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[filter setValue:stringData forKey:@"inputMessage"];
// 5.生成二维码
CIImage *outputImage = filter.outputImage;
CGFloat scale = size.width / 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上
imgView.image = qrCodeImage;
}