前言
CIColor主要是用于和Core Image框架中其他类,比如CIFilter,CIContext以及CIImage。CIColor中的颜色值范围是0.0~1.0之间,0.0代表该颜色分量为最小值,1.0代表该颜色分量分最大值。其中alpha值的范围也是0.0到1.0之间,0.0代表全透明,1.0代表完全不透明,同时CIColor的颜色分量通常都是没有乘以alpha值。
一、创建CIColor
1、 + (instancetype)colorWithCGColor:(CGColorRef)c;
通过CGColorRef创建CIColor
2、 + (instancetype)colorWithRed:(CGFloat)r green:(CGFloat)g blue:(CGFloat)b alpha:(CGFloat)a;
参数: r:红色分量; g:绿色分量; b:蓝色分量; a:透明度;
3、 + (instancetype)colorWithRed:(CGFloat)r green:(CGFloat)g blue:(CGFloat)b;
参数: r:红色分量; g:绿色分量; b:蓝色分量;
二、初始化CIColor
- 1、 - (instancetype)initWithCGColor:(CGColorRef)c NS_DESIGNATED_INITIALIZER;
- 2、 - (instancetype)initWithRed:(CGFloat)r green:(CGFloat)g blue:(CGFloat)b alpha:(CGFloat)a;
- 3、 - (instancetype)initWithRed:(CGFloat)r green:(CGFloat)g blue:(CGFloat)b NS_AVAILABLE(10_11, 9_0);
三、其他
1、获取颜色空间个数
@property (readonly) size_t numberOfComponents;
2、获取颜色空间数组
@property (readonly) const CGFloat *components NS_RETURNS_INNER_POINTER;
3、获取透明度
@property (readonly) CGFloat alpha;
4、获取ColorSpace
@property (readonly) CGColorSpaceRef colorSpace CF_RETURNS_NOT_RETAINED;
5、获取红色颜色分量
@property (readonly) CGFloat red;
6、获取绿色颜色分量
@property (readonly) CGFloat green;
7、获取蓝色颜色分量
@property (readonly) CGFloat blue;