zoukankan      html  css  js  c++  java
  • iOS开发之CoreImage

    CoreImage是iOS中的一个图像处理框架,提供了强大高效的图像处理功能,可以通过调用简单的API来使用框架所带的各种滤镜对图像进行处理。

    CoreImgae的三个重要组成部分:1、CIFiter 滤镜  2、CIContext 创建上下文  3、构建图像数据的模型对象

    CIFilter:CIFilter是对图像数据进行处理的核心部分,我的理解是对指定的输入图像经过设置的参数进行一系列计算,然后组合成一个经过处理的输出图像数据,iOS自己带的有几十个类型kCICategory,总计650多种滤镜。只是指定滤镜类型而没有设置参数时,我们可以用setDefauts设置默认参数,滤镜就会根据默认参数对图像进行过滤处理。

    CIContext:Core Image通过CIContext来渲染CIFilter产生的对象。滤镜的输入inputImage输出outputImage图像数据都是CIImage,CIImage图像数据不能直接渲染在CPU上,只有当真正将要显示的时候,才会通过第三个对象去渲染。这个对象就是CIContext;CIContext在初始化的时候需要一个字典,可以通过kCIContextUseSoftwareRenderer创建一个基于CPU的CIContext对象,默认是创建基于GPU的CIContext对象,不同之处在于GPU的CIContext对象处理起来会更快但是不能后台处理,如果需要保存到相册的话,一般建议使用CPU处理,以保证图像处理过程中退出后台也能正常处理完,而基于CPU的CIContext对象除了支持更大的图像以外,还能在后台处理。

    CIImage:CIImage是一个模型对象,它保存能构建图像的数据,可以是图像的Data,可以是一个文件,也可以是CIFilter输出的对象。

    具体步骤:
    1、导入CoreImage框架
    2、创建CIImage对象
    3、创建CIFilter
    4、利用键值对设置CIFilter的各种属性
    5、获得处理后的图片
    6、将得到的图片渲染到视图上

  • 相关阅读:
    树---对称的二叉树
    树---二叉树的下一个节点
    阿里一面电话面
    树---重建二叉树
    CVTE电话面
    聊聊平台型游戏
    Ogre-next with Visual Studio 2019, SDL Memset, CL.exe error
    中国能不能制作AAA游戏?
    Simple Cel Shading 钟馗
    Modeling -> Mixamo auto rigging -> UE4 retargeting
  • 原文地址:https://www.cnblogs.com/abelsu/p/9258854.html
Copyright © 2011-2022 走看看