本片介绍关于图片滤镜的研究:xoxo_x 著
本文参考:https://github.com/BradLarson/GPUImage#gpuimage
下载地址:
https://github.com/BradLarson/GPUImage/tree/master/examples/iOS/SimpleImageFilter
步骤 | 内容 |
---|---|
第一步 | 创建预览View 即必须的GPUImageView |
第二步 | 创建对象 即我们要用到的GPUImagePicture |
第三步 | 创建滤镜 即这里我们使用的 GPUImageSobelEdgeDetectionFilter |
第四步 | 设置纹理尺寸 添加滤镜 addTarget 并开始处理 |
效果如下:
第一步:
CGRect mainScreenFrame = [[UIScreen mainScreen] applicationFrame];
GPUImageView *primaryView = [[GPUImageView alloc] initWithFrame:mainScreenFrame];
self.view = primaryView;
第二步:
UIImage *inputImage = [UIImage imageNamed:@"WID-small.jpg"];
GPUImagePicture *sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];
第三步:
GPUImageOutput<GPUImageInput> *sepiaFilter = [[GPUImageSobelEdgeDetectionFilter alloc] init];
第四步:
//设置纹理尺寸
[sepiaFilter forceProcessingAtSize:imageView.sizeInPixels];
[sourcePicture addTarget:sepiaFilter];
[sepiaFilter addTarget:imageView];
//开始处理
[sourcePicture processImage];