iOS生成二维码

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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值