二维码生成

 1 @implementation NSString (Helper)
 2 
 3 /**
 4  返回当前字符串对应的二维码图像
 5  
 6  二维码的实现是将字符串传递给滤镜,滤镜直接转换生成二维码图片
 7  */
 8 - (UIImage *)createQRCode
 9 {
10     // 1. 实例化一个滤镜
11     CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
12     // 1.1 设置filter的默认值
13     // 因为之前如果使用过滤镜,输入有可能会被保留,因此,在使用滤镜之前,最好设置恢复默认值
14     [filter setDefaults];
15     
16     // 2. 将传入的字符串转换为NSData
17     NSData *data = [self dataUsingEncoding:NSUTF8StringEncoding];
18     
19     // 3. 将NSData传递给滤镜(通过KVC的方式,设置inputMessage)
20     [filter setValue:data forKey:@"inputMessage"];
21     
22     // 4. 由filter输出图像
23     CIImage *outputImage = [filter outputImage];
24     
25     // 5. 将CIImage转换为UIImage
26     return [UIImage imageWithCIImage:outputImage];
27 }
28 
29 @end

 

posted @ 2013-11-23 21:48  yyh123  阅读(311)  评论(0编辑  收藏  举报