iOS生成二维码

来源:互联网 发布:多传感器数据融合 编辑:程序博客网 时间:2024/05/17 18:43
//  生成二维码-(void)createQRCode{    CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];    [filter setDefaults];    NSData *data = [@"http://blog.csdn.net/chen_gp_x" 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(50, 200, self.view.frame.size.width - 100, self.view.frame.size.width - 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;}


转载请注明出处:http://blog.csdn.net/chen_gp_x

0 0
原创粉丝点击