iOS根据接口生成二维码

来源:互联网 发布:江恩计算器算法 编辑:程序博客网 时间:2024/04/30 16:44

  //    把字符串链接改为data

    NSString * text =@"http://www.baidu.com/";

    NSData *stringData = [textdataUsingEncoding: NSUTF8StringEncoding];

    

    //生成

    CIFilter *qrFilter = [CIFilterfilterWithName:@"CIQRCodeGenerator"];

    [qrFilter setValue:stringDataforKey:@"inputMessage"];

    [qrFilter setValue:@"M"forKey:@"inputCorrectionLevel"];

    

    UIColor *onColor = [UIColorblackColor];

    UIColor *offColor = [UIColorwhiteColor];

    

    //上色

    CIFilter *colorFilter = [CIFilterfilterWithName:@"CIFalseColor"keysAndValues:@"inputImage",qrFilter.outputImage,@"inputColor0",[CIColorcolorWithCGColor:onColor.CGColor],@"inputColor1",[CIColorcolorWithCGColor:offColor.CGColor],nil];

    

    CIImage *qrImage = colorFilter.outputImage;

    

    //绘制

    CGSize size =CGSizeMake(300,300);

    CGImageRef cgImage = [[CIContextcontextWithOptions: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);

//扫描改二维码即可进入链接

    self.viewPicture.image = codeImage;

0 0