CoreImage使用

CoreImage是苹果公司为了简化图片处理的难度而开发出来的类库。

随着iOS版本升级以及硬件性能的不断提升,CoreImage将支持越来越多的滤镜。

大部分的滤镜都很容易使用。

// 0. 导入CIImage图片

CIImage *ciImage = [[CIImage alloc] initWithImage:[UIImage imageNamed:@"demo"]];

// 1. 创建出Filter滤镜

CIFilter *filter = [CIFilter filterWithName:@"CIPixellate"];

[filter setValue:ciImage

forKey:kCIInputImageKey];

NSLog(@"%@", filter.attributes);

[filter setDefaults];

CIImage *outImage = [filter valueForKey:kCIOutputImageKey];

// 2. 用CIContext将滤镜中的图片渲染出来

CIContext *context = [CIContext contextWithOptions:nil];

CGImageRef cgImage = [context createCGImage:outImage

fromRect:[outImage extent]];

// 3. 导出图片

UIImage *showImage = [UIImage imageWithCGImage:cgImage];

CGImageRelease(cgImage);

// 4. 加载出来

UIImageView *imageView = [[UIImageView alloc] initWithImage:showImage];

imageView.center      = self.view.center;

[self.view addSubview:imageView];

你可能感兴趣的:(CoreImage使用)