CGColor
定义颜色的组件,通过颜色空间来解释其颜色
CGColorRef
CGColor的Release和Retain
void CGColorRelease(CGColorRef color);
CGColorRef CGColorRetain(CGColorRef color);
创建颜色
使用颜色空间和强度值列表(包括Alpha)创建颜色
CGColorRef CGColorCreate(CGColorSpaceRef space, const CGFloat *components); space: 颜色空间
components: 描述颜色强度值的n+1个值的数组,n个值对应颜色空间的n歌颜色分量,后加alpha分量需要调用CGColorRelease进行释放
Copy已有颜色副本
CGColorRef CGColorCreateCopy(CGColorRef color);
需要调用CGColorRelease进行释放
创建通用灰度颜色空间颜色
CGColorRef CGColorCreateGenericGray(CGFloat gray, CGFloat alpha); gray: A grayscale value (0.0 - 1.0).
alpha:An alpha value (0.0 - 1.0).创建通用RGB颜色空间颜色
CGColorRef CGColorCreateGenericRGB(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha); red: A red component value (0.0 - 1.0).
green: A green component value (0.0 - 1.0).
blue: A blue component value (0.0 - 1.0).
alpha: An alpha value (0.0 - 1.0)创建通用CMYK颜色
CGColorRef CGColorCreateGenericCMYK(CGFloat cyan, CGFloat magenta, CGFloat yellow, CGFloat black, CGFloat alpha); cyan: 0.0=1.0
magenta: 0.0=1.0
yellow: 0.0=1.0
black: 0.0=1.0
alpha: 0.0=1.0创建与现有颜色相同,alpha不同的颜色副本
CGColorRef CGColorCreateCopyWithAlpha(CGColorRef color, CGFloat alpha);
需要调用CGColorRelease释放
使用图案颜色空间、图案和强度值列表(包括alpha)创建颜色
CGColorRef CGColorCreateWithPattern(CGColorSpaceRef space, CGPatternRef pattern, const CGFloat *components);
需要调用CGColorRelease释放
在不同颜色空间创建与颜色匹配的新颜色
CGColorRef CGColorCreateCopyByMatchingToColorSpace(CGColorSpaceRef, CGColorRenderingIntent intent, CGColorRef color, CFDictionaryRef options); CGColorSpaceRef: 目标颜色空间
intent: 当颜色在新颜色色域之外时采用的模式
color: 要转换的颜色
options: NULL
其他方法
判断两个颜色是否相同
当两个颜色的颜色空间以及各个分量值相同时,相同bool CGColorEqualToColor(CGColorRef color1, CGColorRef color2);
获取颜色的alpha
CGFloat CGColorGetAlpha(CGColorRef color);
获取颜色的颜色空间
CGColorSpaceRef CGColorGetColorSpace(CGColorRef color);
获取与颜色相关的n+1个分量值(包括alpha)
const CGFloat * CGColorGetComponents(CGColorRef color);
获取指定颜色的分享个数(包括alpha)
size_t CGColorGetNumberOfComponents(CGColorRef color);
获取与颜色图案空间相关的颜色图案
CGPatternRef CGColorGetPattern(CGColorRef color);