zoukankan      html  css  js  c++  java
  • 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图片的时候会连带委托一起运行。

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

  • 相关阅读:
    Redis与Memcached汇总
    那些年掉进的坑之AngularJS篇
    常见的Regex表达式(更新RFC标准的email检验)
    让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
    Windows + Android + Cordova + ionic环境搭建
    less语法
    AngularJS 指令之 ng-style
    AngularJS 指令之 ng-if
    ionic之自定义 ion-tabs 图标
    AngularJS之延迟加载html template
  • 原文地址:https://www.cnblogs.com/wisejoker/p/3399856.html
Copyright © 2011-2022 走看看