二维码生成

第一个方法

  // 1.创建过滤器
 CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];

// 2.恢复默认
[filter setDefaults];

// 3.给过滤器添加数据(正则表达式/账号和密码)
NSString *dataString = @"http://www.520it.com";
NSData *data = [dataString dataUsingEncoding:NSUTF8StringEncoding];
[filter setValue:data forKeyPath:@"inputMessage"];

// 4.获取输出的二维码
CIImage *outputImage = [filter outputImage];

//因为生成的二维码模糊,所以通过createNonInterpolatedUIImageFormCIImage:outputImage来获得高清的二维码图片
// 5.显示二维码
imageView.image = [self createNonInterpolatedUIImageFormCIImage:outputImage withSize:200 string:@"http://www.520it.com"];

第二个方法:

- (UIImage *)createNonInterpolatedUIImageFormCIImage:(CIImage *)image withSize:(CGFloat) size string:(NSString *)string
{

CGRect extent = CGRectIntegral(image.extent);
CGFloat scale = MIN(size/CGRectGetWidth(extent), size/CGRectGetHeight(extent));

// 1.创建bitmap;
size_t width = CGRectGetWidth(extent) * scale;
size_t height = CGRectGetHeight(extent) * scale;
CGColorSpaceRef cs = CGColorSpaceCreateDeviceGray();
CGContextRef bitmapRef = CGBitmapContextCreate(nil, width, height, 8, 0, cs, (CGBitmapInfo)kCGImageAlphaNone);
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef bitmapImage = [context createCGImage:image fromRect:extent];
CGContextSetInterpolationQuality(bitmapRef, kCGInterpolationNone);
CGContextScaleCTM(bitmapRef, scale, scale);
CGContextDrawImage(bitmapRef, extent, bitmapImage);

// 2.保存bitmap到图片
CGImageRef scaledImage = CGBitmapContextCreateImage(bitmapRef);
CGContextRelease(bitmapRef);
CGImageRelease(bitmapImage);
return [UIImage imageWithCGImage:scaledImage];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二维码生成需要借助第三方jar包。我这里使用的是QRcode。给大家一个连接,自行下载:http://downlo...
    麦兜叮叮当阅读 630评论 0 0
  • 一、二维码生成 步骤: 创建一个imageView,并设置imageView的frame 创建CIFilter,f...
    Hyman0819阅读 256评论 0 0
  • 85后智能硬件创业者,坐标在广东顺德和深圳,负责硬件产品策划,开发,市场。 目前专注于给家庭带来更高效的口腔洗护电...
    JaydenWang阅读 194评论 1 0
  • 僧行 我在黑夜里呼唤黎明 我在雨幕里祈祷蓝天 守得云开终见月 月尽有阳始得开 光明万丈照大地 雾散终究心明...
    泊暖阅读 543评论 0 1