iOS开发中使用CIFilter生成二维码和条形码
来源:互联网 发布:网络小游戏在线玩 编辑:程序博客网 时间:2024/06/12 01:37
在iOS7之后我们可以使用苹果自带的CIFilter这个类生成二维码,我们可以通过为UIImage这个类添加一个分类来实现该功能。代码:
+ (UIImage *)qrCodeImageWithInfo:(NSString *)info width:(CGFloat)width
{
if (!info) {
returnnil;
}
NSData *strData = [infodataUsingEncoding:NSUTF8StringEncodingallowLossyConversion:NO];
//创建二维码滤镜
CIFilter *qrFilter = [CIFilterfilterWithName:@"CIQRCodeGenerator"];
[qrFilter setValue:strDataforKey:@"inputMessage"];
[qrFilter setValue:@"H"forKey:@"inputCorrectionLevel"];
CIImage *qrImage = qrFilter.outputImage;
//颜色滤镜
CIFilter *colorFilter = [CIFilterfilterWithName:@"CIFalseColor"];
[colorFilter setDefaults];
[colorFilter setValue:qrImageforKey:kCIInputImageKey];
// [colorFilter setValue:[CIColor colorWithRed:0 green:0 blue:0] forKey:@"inputColor0"];
// ![Uploading 1A4978EE-427F-4804-B536-1D5C330A0578_306160.png . . .][colorFilter setValue:[CIColor colorWithRed:1 green:1 blue:1] forKey:@"inputColor1"];
CIImage *colorImage = colorFilter.outputImage;
//返回二维码
CGFloat scale = width/31;
UIImage *codeImage = [UIImageimageWithCIImage:[colorImageimageByApplyingTransform:CGAffineTransformMakeScale(scale, scale)]];
return codeImage;
}
在iOS8之后我们还可以使用CIFilter这个类来生成条形码,我们同样可以通过为UIImage这个类添加分类的方法来实现该功能。代码:
+ (UIImage *)barCodeImageWithInfo:(NSString *)info
{
// 1.将字符串转换成NSData
NSData *data = [infodataUsingEncoding:NSUTF8StringEncoding];
// 2.创建条形码滤镜
CIFilter *filter = [CIFilterfilterWithName:@"CICode128BarcodeGenerator"];
// 3.恢复滤镜的默认属性
[filter setDefaults];
// 4.设置滤镜inputMessage数据
[filter setValue:dataforKey:@"inputMessage"];
// 5.获得滤镜输出的图像
CIImage *urlImage = [filteroutputImage];
// 6.将CIImage转换为UIImage
UIImage *image = [UIImageimageWithCIImage:urlImage];
return image;
}
- iOS开发中使用CIFilter生成二维码和条形码
- ios 将url通过CIFilter滤镜生成条形码和二维码
- iOS 使用CIFilter生成二维码
- 【iOS开发】iO7以上CIFilter生成二维码
- iOS 生成二维码和条形码
- 【iOS开发】iO7以上CIFilter生成二维码(备忘)
- iOS开发--二维码/条形码(扫描(可区域)和生成)
- iOS 7之后,使用CIFilter生成二维码图片
- iOS原生API生成二维码(CIFilter)
- 在iOS中使用ZBar扫描二维码和条形码
- 在iOS中使用ZBar扫描二维码和条形码
- 【iOS开发】iO7以上CIFilter生成二维码(带二维码颜色变换)
- Android中生成条形码和二维码
- 生成二维码和条形码
- 使用CIFilter生成二维码并自定义
- iOS 使用ZBarSDK扫描条形码和二维码
- iOS 使用ZBarSDK扫描条形码和二维码
- iOS 使用ZBarSDK扫描条形码和二维码
- http中get与post的区别
- 《简明Python教程》之面向对象编程
- 用大白话聊聊分布式系统
- php个人博客---上传图片并显示
- Understanding Quaternions 中文翻译《理解四元数》
- iOS开发中使用CIFilter生成二维码和条形码
- 动态规划解最长公共子序列问题(LCS)C语言加注释
- Activiti工作流引擎数据库表结构
- .pch
- PTA 电话号码同步
- 算法分析课每周练习 Serialize and Deserialize Binary Tree
- RTTI机制与作用
- 国内大公司的开源项目
- 最简单的基于librtmp的示例:接收(RTMP保存为FLV)