一:CoreImage简单实用,一共分为五步 1:导入CIImage,2:创建滤镜 3:从CIContext将滤镜中的图片渲染出来 4:导出图片 5:显示图片
// 1.导入CIImage
CIImage *ciImage = [[CIImage alloc] initWithImage:[UIImage imageNamed:@"demo"]];
// 2.创建出filter滤镜, CIPixellate是滤镜中马赛克,滤镜有好多种,参照API文档
CIFilter *filter = [CIFilter filterWithName:@"CIPixellate"];
// 设置输入图片
[filter setValue:ciImage forKey:kCIInputImageKey];
[filter setDefaults];
// 设置输出图片
CIImage *outImage = [filter valueForKey:kCIOutputImageKey];
// 3.从CIContext将滤镜中的图片渲染出来
CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgImage = [context createCGImage:outImage fromRect:[outImage extent]];
// 4.导出图片
UIImage *showImage = [UIImage imageWithCGImage:cgImage];
// 因为CoreImage框架下不支持ARC,所以要手动释放
CGImageRelease(cgImage);
// 5.加载进来
UIImageView *imageView = [[UIImageView alloc] initWithImage:showImage];
imageView.center = self.view.center;
[self.view addSubview:imageView];