imageView.image = [UIImage imageWithCIImage:transformedImage];
2 应用示例
下面,我们就做一个如下图所示的二维码生成器:

其中主要实现的功能有:
-
生成和删除二维码。
通过滑动条对二维码图像进行缩放。
将二维码保存到相册。
2.1 创建项目
打开 Xcode ,创建一个新的项目( FileNewProject.. .),选择 iOS 一栏下的 Application 中的 Single View Application 模版,然后点击 Next ,填写项目选项。在 Product Name 中填写 QRCodeGeneratorDemo ,选择 Objective-C 语言,点击 Nex t,选择文件位置,并单击 Create 创建项目。

2.2 构建界面
打开 Main.storyboard 文件,在当前控制器中嵌入导航控制器,并添加标题 QR Code Generator :

在视图控制器中添加文本框、按钮、图像视图等,布局如下:

其中各元素及作用:
-
Text Field:用于输入想要转换为二维码的数据内容,包括文本或URL字符串。
Button:在这里具有双重作用,用于生成和清除二维码。
Image View:用于显示生成的二维码图像。
Slider:用来缩放生成的二维码图像。
打开辅助编辑器,将storyboard中的元素连接到代码中:

2.3 添加代码
2.3.1 生成二维码图像
由于使用CIFilter对象生成的二维码图像将是一个CIImage对象,所以需要先在 ViewController.m 文件的接口部分声明一个CIImage对象的属性:
@property (strong, nonatomic) CIImage *qrcodeImage;
然后在实现部分添加 generateQRCodeImage 方法及代码:
- (void)generateQRCodeImage
{
NSData *data = [self.textField.text dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:NO];
// 创建并设置CIFilter对象
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[filter setValue:data forKey:@"inputMessage"];
[filter setValue:@"Q" forKey:@"inputCorrectionLevel"];
// 获取生成的CIImage对象
self.qrcodeImage = filter.outputImage;
// 转换成UIImage对象,并显示在图像视图中
self.imageView.image = [UIImage imageWithCIImage:self.qrcodeImage];
}










