iOS二维码生成

来源:互联网 发布:网络验证破解 跳 编辑:程序博客网 时间:2024/05/21 06:43

- (UIImage *)encodeQRImageWithContent:(NSString *)content size:(CGSize)size {    UIImage *codeImage = nil;        NSData *stringData = [content dataUsingEncoding: NSUTF8StringEncoding];                //生成        CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];        [qrFilter setValue:stringData forKey:@"inputMessage"];        [qrFilter setValue:@"M" forKey:@"inputCorrectionLevel"];                UIColor *onColor = [UIColor blackColor];        UIColor *offColor = [UIColor whiteColor];                //上色        CIFilter *colorFilter = [CIFilter filterWithName:@"CIFalseColor"                                           keysAndValues:                                 @"inputImage",qrFilter.outputImage,                                 @"inputColor0",[CIColor colorWithCGColor:onColor.CGColor],                                 @"inputColor1",[CIColor colorWithCGColor:offColor.CGColor],                                 nil];                CIImage *qrImage = colorFilter.outputImage;        CGImageRef cgImage = [[CIContext contextWithOptions:nil] createCGImage:qrImage fromRect:qrImage.extent];        UIGraphicsBeginImageContext(size);        CGContextRef context = UIGraphicsGetCurrentContext();        CGContextSetInterpolationQuality(context, kCGInterpolationNone);        CGContextScaleCTM(context, 1.0, -1.0);        CGContextDrawImage(context, CGContextGetClipBoundingBox(context), cgImage);        codeImage = UIGraphicsGetImageFromCurrentImageContext();        UIGraphicsEndImageContext();                CGImageRelease(cgImage);    return codeImage;}


0 0