GPUImage实现过程

GPUImage就是一个函数的类库,用于对图片实现滤镜的效果。

下面是实现一个最简单的GPUImage的程序和讲解:

首先新建一个项目,导入GPUImage类库(导入过程在我的另一个博客里面有写)。

然后在ViewController的头文件里面添加GPUImage.h,然后在实现文件里面开始写函数。

实现的基本流程和代码如下:

    //设置图片

    UIImage * inputImage = [UIImage imageNamed:@"sample1.jpg"];

    

    //获取视图

    GPUImageView * imageView = (GPUImageView *)self.view;

    

    //把图片加载到GPU

    GPUImagePicture * sourcePicture;

    sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];

    

    //初始化滤镜

    GPUImageTiltShiftFilter * tiltShiftFilter = [[GPUImageTiltShiftFilteralloc] init];

    

    //三个步骤显示图片

    [sourcePicture addTarget:tiltShiftFilter];

    [tiltShiftFilter addTarget:imageView];

    [sourcePicture processImage];

个人的理解:
第一步是将图片通过UIImage导入程序
然后获取当前的视图并转化成GPU视图(这一步其实这样写不好,GPUImageVIew其实功能跟UIImageView是一样的,就是一个显示图片的控件,所以这一步是把GPUImageView添加到主视图上,用AddSubView方法更好一点)
然后把UIImage转化成GPU图片
初始化一个滤镜
把GPU图片委托给滤镜,滤镜委托给GPU视图,然后运行GPU图片的时候会连带委托一起运行。

这只是一个最最简单基础的滤镜,当然后面如果还有更加复杂的滤镜操作方式我会继续更新。

posted @ 2013-10-30 09:17  wisejoker  阅读(1487)  评论(0编辑  收藏  举报