Core Graphics的研究CGColor篇

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的核心基础类型标识符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值