CoreImage

作者: 一川烟草i蓑衣 | 来源:发表于2019-04-12 12:25 被阅读0次

    UIImage是UIKIt框架中定义的图像类,其中封装了高层次图像类,可以通过多种方式创建这些对象。在Core Graphics框架(Quartz 2D)中也定义了CGImage,它表示位图图像,因为CGImage被封装起来了所以通常通过CGImageRef来使用CGImage。在Core Image框架中也有一个图像类CIImage,CIImage封装的图像类能够很好地进行图像效果处理,例如,滤镜的使用。UIImage、CGImage和CIImage之间可以互相转化,这个过程中需要注意内存释放问题,特别是CGImage和UIImage之间转化,涉及从C变量到Objective-C对象转化,如果这里使用了ARC技术,反而会使内存释放问题更复杂。

Core Image框架


1

创建一个图像:

+ emptyImage

+ imageWithColor:

+ imageWithBitmapData:bytesPerRow:size:format:colorSpace:

+ imageWithCGImage://静态创建方法,通过CGImageRef创建图像对象。

+ imageWithCGImage:options:

+ imageWithContentsOfURL://静态创建方法,通过文件路径创建图像对象。

+ imageWithContentsOfURL:options:

+ imageWithCVPixelBuffer:

+ imageWithCVPixelBuffer:options:

+ imageWithData://静态创建对象,通过内存中NSData对象创建图像对象。

+ imageWithData:options:

+ imageWithTexture:size:flipped:colorSpace:

通过修改一个现有的图像创建一个图像:

- imageByApplyingFilter:withInputParameters:

- imageByApplyingTransform:

- imageByCroppingToRect:

- imageByApplyingOrientation:

- imageByClampingToExtent

- imageByCompositingOverImage:

初始化一个图像:

- initWithColor:

- initWithBitmapData:bytesPerRow:size:format:colorSpace:

- initWithCGImage://构造方法,通过CGImageRef创建图像对象。

- initWithCGImage:options:

- initWithImage:

- initWithImage:options:

- initWithContentsOfURL://构造方法,通过文件路径创建图像对象。

- initWithContentsOfURL:options:

- initWithCVPixelBuffer:

- initWithCVPixelBuffer:options:

- initWithData://构造方法,通过内存中NSData对象创建图像对象。

- initWithData:options:

- initWithTexture:size:flipped:colorSpace:

coreimage framework 组成

主要分为三部分:

1)定义部分:CoreImage 何CoreImageDefines。见名思义,代表了CoreImage 这个框架和它的定义。

2)操作部分:

滤镜(CIFliter):CIFilter 产生一个CIImage。典型的,接受一到多的图片作为输入,经过一些过滤操作,产生指定输出的图片。

检测(CIDetector):CIDetector 检测处理图片的特性,如使用来检测图片中人脸的眼睛、嘴巴、等等。

特征(CIFeature):CIFeature 代表由 detector处理后产生的特征。

3)图像部分:

画布(CIContext):画布类可被用与处理Quartz 2D 或者  OpenGL。可以用它来关联CoreImage类。如滤镜、颜色等渲染处理。

颜色(CIColor):   图片的关联与画布、图片像素颜色的处理。

向量(CIVector): 图片的坐标向量等几何方法处理。

图片(CIImage): 代表一个图像,可代表关联后输出的图像。

NSArray *filters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn]; //获取系统滤镜列表

相关文章

网友评论

      本文标题:CoreImage

      本文链接:https://www.haomeiwen.com/subject/ecoqwqtx.html