iOS 二维码生成
来源:互联网 发布:淘宝上架宝贝教程 手机 编辑:程序博客网 时间:2024/06/17 00:40
//1. 初始化二维码滤镜CIFilter *filter = [CIFilter filterWithName:@"CSXRCode"];// 2. 设置滤镜的默认属性[filter setDefaults];// 3. 将需要转换成二维码的url字符串转换成NSDataNSString *urlStr = self.dataDic[@"shareurl"];NSData *data = [urlStr dataUsingEncoding:NSUTF8StringEncoding];// 4. 通过KVO设置滤镜inputMessage数据[filter setValue:data forKey:@"inputMessage"];// 5. 获得滤镜输出的图像CIImage *outputImage = [filter outputImage];// 6. 将CIImage转换成UIImage,并显示于imageView上 (此时获取到的二维码比较模糊,所以需要用下面的createNonInterpolatedUIImageFormCIImage方法重绘二维码)self.QRcodeContentImageView = [[UIImageView alloc] initWithFrame:CGRectMake((SCREEN_WIDTH-170)/2, CGRectGetMaxY(nameLabel.frame) + 10, 170, 170)];self.QRcodeContentImageView.image = [self createNonInterpolatedUIImageFormCIImage:outputImage withSize:170];//重绘二维码,使其显示清晰[self.view addSubview:self.QRcodeContentImageView];//重绘图像,让图像看起来更清晰。
/** * 根据CIImage生成指定大小的UIImage * * @param image CIImage * @param size 图片宽度 */- (UIImage *)createNonInterpolatedUIImageFormCIImage:(CIImage *)image withSize:(CGFloat) size{ 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];}
阅读全文
1 0
- IOS生成二维码、扫二维码
- iOS二维码的生成
- iOS应用 生成二维码
- IOS 字符串生成二维码
- IOS生成二维码
- iOS - 需求 - 二维码(生成)
- iOS生成二维码
- ios 生成二维码
- IOS开发 生成二维码
- iOS生成二维码
- iOS生成二维码
- iOS开发---生成二维码
- Ios生成二维码
- iOS二维码生成
- iOS 生成二维码
- iOS 生成二维码
- iOS - 生成二维码
- IOS 二维码的生成
- percona-toolkit 之 【pt-table-checksum】、【pt-table-sync】说明
- node 提示 module.js:471 throw err
- windows下安装pygame
- POJ-3268-Disease Management-(最短路径spfa)
- Java批量插入Oracle语句执行过程
- iOS 二维码生成
- PULL解析XML
- 银联支付
- String Shifting- 今日头条校招2016-09-28在线编程题
- Android手势处理框架-android gesture detectors Framework
- ELK+Kafka 企业日志收集平台(二)
- glassfish安装部署
- ARM NEON 编程系列6——ARM Neon 指令 解释
- C#二维数组拷贝到另一个二维数组