iOS 7 二维码的生成

    //二维码生成

    //UIImageView *theImageView = [[UIImageView alloc]init];
//[self.view addSubview:theImageView]; CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[filter setDefaults];
NSData *data = [@"hello worold!" 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));
// Resize without interpolating
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);

  由于生成的二维码和图片非常小,所以使用方法放大了5倍

//Resize image

- (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;
}

  生成的结果:

iOS 7 二维码的生成

上一篇:hdu 4277 USACO ORZ (Dfs)


下一篇:java 中的JDK封装的数据结构和算法解析(集合类)----顺序表 List 之 ArrayList