- (void)viewDidLoad {
[super viewDidLoad];
//生成二维码
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[filter setDefaults];
NSData *data = [@"你好!程序猿!" dataUsingEncoding:NSUTF8StringEncoding];
[filter setValue:data forKey:@"inputMessage"];
CIImage *outputImage = [filter outputImage];
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgImage = [context createCGImage:outputImage
fromRect:[outputImage extent]];
UIImage *image = [UIImage imageWithCGImage:cgImage
scale:1.
orientation:UIImageOrientationUp];
NSLog(@"image QRCode : %@",NSStringFromCGSize(image.size));
UIImage *resized = [self resizeImage:image
withQuality:kCGInterpolationNone
rate:5.0];
NSLog(@"%@",NSStringFromCGSize(resized.size));
UIImageView *theImageView =[[UIImageView alloc]initWithImage:resized];
theImageView.frame = CGRectMake(100, 200, 100, 100);
[self.view addSubview:theImageView];
CGImageRelease(cgImage);
}
- (UIImage *)resizeImage:(UIImage *)image withQuality:(CGInterpolationQuality)quality
rate:(CGFloat)rate
{
UIImage *resized = nil;
CGFloat width = image.size.width * rate;
CGFloat height = image.size.height * rate;
UIGraphicsBeginImageContext(CGSizeMake(width, height));
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetInterpolationQuality(context, quality);
[image drawInRect:CGRectMake(0, 0, width, height)];
resized = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resized;
}