CGColor
定义颜色的一组组件,colorSpace指定如何解释它们。
颜色对象提供了一种快速和方便的方式来管理和设置颜色,特别是重复使用的颜色。绘图操作使用颜色对象来设置填充和笔划颜色、管理alpha和使用图案设置颜色。
相关方法的介绍
1. CGColorGetConstantColor(返回表示恒定颜色的颜色对象)
/*
参数介绍
1.colorName:颜色名称。可以用不变的颜色传递任何常数
*/
CGColorRef CGColorGetConstantColor(CFStringRef colorName);
返回值:一个颜色对象
2. CGColorRelease(减少颜色的retainCount)
/*
参数介绍
1. color: 要释放的颜色
*/
void CGColorRelease(CGColorRef color);
3. CGColorRetain(增加颜色的retainCount)
/*
参数介绍
1. color: 要保留的颜色
*/
CGColorRef CGColorRetain(CGColorRef color);
返回值:与传入的颜色参数相同的颜色
4. CGColorCreate(使用强度值列表(包括alpha)和关联的颜色空间创建颜色)
/*
参数列表
1. colorspace: 新颜色的颜色空间。核心图形保留此对象;返回后,您可以安全地释放它
2. components: 描述颜色的强度值数组。数组应该包含n+1个值,这些值对应于指定颜色空间中的n个颜色分量,后跟alpha分量。每个组件值都应该在适合颜色空间的范围内。超出此范围的值将被钳制为最接近的正确值
*/
CGColorRef CGColorCreate(CGColorSpaceRef space, const CGFloat *components);
返回值:一种新的颜色。需要使用cgcolorrease释放此对象
5. CGColorCreateCopy(创建现有颜色的副本)
/*
参数列表
1. color: 颜色
*/
CGColorRef CGColorCreateCopy(CGColorRef color);
返回值:指定颜色的副本。需要使用cgcolorrease释放此对象
6. CGColorCreateGenericGray(在通用灰色空间中创建颜色)
/*
参数介绍
1. gray: 灰度值(0.0 - 1.0)
2. alpha: alpha值(0.0 - 1.0)
*/
CGColorRef CGColorCreateGenericGray(CGFloat gray, CGFloat alpha);
返回值:color 对象
7. CGColorCreateGenericRGB(在通用RGB颜色空间中创建颜色)
/*
参数介绍
1. red:R(0.0, 1.0)
2. green: G(0.0, 1.0)
3. blue: B(0.0, 1.0)
4. alpha: 透明度
*/
CGColorRef CGColorCreateGenericRGB(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha);
返回值:color 对象
8. CGColorCreateSRGB(在sRGB颜色空间中创建颜色)
/*
参数介绍
1. red:R(0.0, 1.0)
2. green: G(0.0, 1.0)
3. blue: B(0.0, 1.0)
4. alpha: 透明度
*/
CGColorRef CGColorCreateSRGB(CGFloat red, CGFloat green, CGFloat blue, CGFloat alpha);
返回值:color 对象
9. CGColorCreateGenericCMYK(在通用CMYK颜色空间中创建颜色)
/*
参数介绍
1. cyan: 青色值(0.0, 1.0)
2. magenta: 洋红值(0.0, 1.0)
3. yellow: 黄色值(0.0, 1.0)
4. black:黑色值(0.0, 1.0)
5: alpha: alpha值(0.0, 1.0)
*/
CGColorRef CGColorCreateGenericCMYK(CGFloat cyan, CGFloat magenta, CGFloat yellow, CGFloat black, CGFloat alpha);
返回值:color 对象
10. CGColorCreateCopyWithAlpha(创建现有颜色的副本,替换新的alpha值)
/*
参数介绍
1. color: 要复制的颜色
2. alpha: 指定所需副本不透明度的值。超出范围[0,1]的值被钳制为0或1
*/
CGColorRef CGColorCreateCopyWithAlpha(CGColorRef color, CGFloat alpha);
返回值:指定颜色的副本,使用指定的alpha值。需要使用cgcolorrease释放此对象
11. CGColorCreateWithPattern(使用强度值列表(包括alpha)、图案颜色空间和图案创建颜色)
/*
参数介绍
1. colorspace:新颜色的图案颜色空间。核心图形保留传入的颜色空间。返回时,可以安全地释放它;
2. pattern:新颜色对象的图案。核心图形保留传入的图案。返回时,可以安全地释放它;
3. components:描述颜色的强度值数组。数组应该包含n+1个值,这些值对应于指定颜色空间中的n个颜色分量,后跟alpha分量。每个组件值都应该在适合颜色空间的范围内。超出此范围的值将被钳制为最接近的正确值;
*/
CGColorRef CGColorCreateWithPattern(CGColorSpaceRef space, CGPatternRef pattern, const CGFloat *components);
返回值:一种新的颜色。使用cgcolorrease释放此对象
12. CGColorCreateCopyByMatchingToColorSpace(在与提供的颜色匹配的其他颜色空间中创建新颜色)
/*
参数介绍
1. CGColorSpaceRef:目标颜色空间
2. intent:当颜色超出新颜色空间的范围时用于匹配颜色的机制
3. color:要转换的颜色
4. options:用于转换颜色的选项字典。目前,您应该传递NULL
*/
CGColorRef CGColorCreateCopyByMatchingToColorSpace(CGColorSpaceRef, CGColorRenderingIntent intent, CGColorRef color, CFDictionaryRef options);
返回值:目标颜色空间中与源颜色匹配(或近似)的新颜色
获取有关核心图形颜色的信息
1. CGColorEqualToColor(指示两种颜色是否相等)
/*
参数
需要比较的两个颜色
*/
bool CGColorEqualToColor(CGColorRef color1, CGColorRef color2);
返回值: 一个布尔值,如果是,则表示指定的颜色相等。如果颜色不相等,则值为否
2. CGColorGetAlpha(返回与颜色关联的alpha组件的值)
/*
参数介绍
1.color: 目标颜色
*/
CGFloat CGColorGetAlpha(CGColorRef color);
返回值:[0, 1]的alpha值, 该值表示颜色的不透明度
3.CGColorGetColorSpace(返回与颜色关联的颜色空间)
/*
参数介绍
1.color: 目标颜色
*/
CGColorSpaceRef CGColorGetColorSpace(CGColorRef color);
返回值:指定颜色的颜色空间。你有责任根据需要保留和释放它
4.CGColorGetComponents(返回与颜色关联的颜色组件(包括alpha)的值)
/*
参数介绍
1.color: 目标颜色
*/
const CGFloat * CGColorGetComponents(CGColorRef color);
返回值:与指定颜色关联的颜色组件(包括alpha)的强度值数组。数组的大小比颜色的颜色空间的组件数多一个
5. CGColorGetNumberOfComponents(返回与颜色关联的颜色组件(包括alpha)的数目)
/*
参数介绍
1.color: 目标颜色
*/
size_t CGColorGetNumberOfComponents(CGColorRef color);
返回值:与指定颜色关联的颜色组件(包括alpha)的数目。这个数字比颜色的颜色空间的组成部分的数目多一个
6. CGColorGetPattern(返回与图案颜色空间中的颜色关联的图案)
/*
参数介绍
1.color: 目标颜色
*/
CGPatternRef CGColorGetPattern(CGColorRef color);
返回值:指定颜色的图案。您负责根据需要保留和释放模式
7. CGColorGetPattern(返回与图案颜色空间中的颜色关联的图案)
/*
参数介绍
1.color: 目标颜色
*/
CGPatternRef CGColorGetPattern(CGColorRef color);
返回值:指定颜色的图案。您负责根据需要保留和释放模式
8. CGColorGetTypeID(返回颜色数据类型的核心基础类型标识符)
CFTypeID CGColorGetTypeID(void);
返回值:CGColorRef的核心基础类型标识符