美文网首页
iOS开发-使用系统方法生成二维码

iOS开发-使用系统方法生成二维码

作者: 段佳欢 | 来源:发表于2018-03-21 16:53 被阅读17次

一、iOS7之后,我们可以使用系统框架来生成二维码
1、系统二维码主要通过CIFilter的对象来生成, 先导入这个类所在的框架:

#import <CoreImage/CoreImage.h>

2、生成二维码的UIImage

+ (UIImage*)createQRWithString:(NSString*)text QRSize:(CGSize)size QRColor:(UIColor*)qrColor bkColor:(UIColor*)bkColor
{
    NSData *stringData = [text dataUsingEncoding: NSUTF8StringEncoding];
    
    //生成
    CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
    [qrFilter setValue:stringData forKey:@"inputMessage"];
    [qrFilter setValue:@"H" forKey:@"inputCorrectionLevel"];
    
    //上色
    CIFilter *colorFilter = [CIFilter filterWithName:@"CIFalseColor"
                                       keysAndValues:
                             @"inputImage",qrFilter.outputImage,
                             @"inputColor0",[CIColor colorWithCGColor:qrColor.CGColor],
                             @"inputColor1",[CIColor colorWithCGColor:bkColor.CGColor],
                             nil];
    
    //生成CIImage
    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);
    UIImage *codeImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    CGImageRelease(cgImage);
    
    return codeImage;
}

二、在二维码上添加其他图片
1、在二维码上添加其他图片时,不能太大,否则会导致扫描不到二维码中的信息

相关文章

  • iOS开发-使用系统方法生成二维码

    一、iOS7之后,我们可以使用系统框架来生成二维码1、系统二维码主要通过CIFilter的对象来生成, 先导入这个...

  • iOS开发:二维码扫描与生成(扫描篇)

    iOS开发中经常要用到生成二维码与扫描二维码的功能,iOS7开始,系统支持原生的扫描二维码,iOS7 扫描二维码可...

  • iOS中生成指定大小、指定颜色的二维码和条形码

    iOS7.0之后可以利用系统原生 API 生成二维码, iOS8.0之后可以生成条形码, 系统默认生成的颜色是黑色...

  • 生成带 logo的二维码

    来源于:【iOS】CoreImage原生二维码生成(二)一个方法生成带logo的二维码 来源于:【iOS】Core...

  • iOS生成高清二维码

    iOS二维码生成 ios7之前关于二维码的操作普遍使用第三方框架, 常用的有ZXing和ZBarios7之后系统框...

  • iOS扫描生成二维码

    iOS7以后系统自带了扫描生成二维码的方法,随着版本的迭代,现在的应用已经逐渐可以抛弃iOS6以前的系统,只支持到...

  • iOS 生成二维码

    iOS7之后,可以使用原生的CIFilter创建二维码。 一、生成二维码 首先是二维码的生成,使用CIFilter...

  • 企业证书签名安装APP信任教程

    IOS APP如何安装使用?提示“未授信开发者”如何打开? 一、苹果因对软件限制,苹果生成后只能扫生成的二维码进行...

  • 二维码生成

    1. 二维码生成 iOS提供了生成二维码的方法,但是生成的二维码图片是CIImage对象,因此要转成UIImage...

  • PDF

    iOS生成PDF图文ios开发之--PDF文件生成 iOS11 PDFKit 使用例程

网友评论

      本文标题:iOS开发-使用系统方法生成二维码

      本文链接:https://www.haomeiwen.com/subject/glggqftx.html