iOS生成二维码

+ (UIImage *)createQRCoreImageWithCodeStr:(NSString *)codeStr pointCIColor:(CIColor *)pointCIColor bgCIColor:(CIColor *)bgCIColor {
    
    //1.生成coreImage框架中的滤镜来生产二维码
    CIFilter *filter=[CIFilter filterWithName:@"CIQRCodeGenerator"];
    [filter setDefaults];
    
    [filter setValue:[codeStr dataUsingEncoding:NSUTF8StringEncoding] forKey:@"inputMessage"];
    //4.获取生成的图片
    CIImage *ciImg=filter.outputImage;
    //放大ciImg,默认生产的图片很小
    
    //5.设置二维码的前景色和背景颜色
    CIFilter *colorFilter=[CIFilter filterWithName:@"CIFalseColor"];
    //5.1设置默认值
    [colorFilter setDefaults];
    [colorFilter setValue:ciImg forKey:@"inputImage"];
    [colorFilter setValue:pointCIColor forKey:@"inputColor0"];
    [colorFilter setValue:bgCIColor forKey:@"inputColor1"];
    //5.3获取生存的图片
    ciImg=colorFilter.outputImage;
    
    CGAffineTransform scale=CGAffineTransformMakeScale(10, 10);
    ciImg=[ciImg imageByApplyingTransform:scale];
    
    UIImage *finalImg =[UIImage imageWithCIImage:ciImg];
    
    //7.5关闭图像上下文
    UIGraphicsEndImageContext();
    
    return finalImg;
}

你可能感兴趣的:(iOS生成二维码)