UIColor试剂上是UIKit对Core Graphics中CGColor的一个包装类。
党我们在Core Graphics这个较低的层次编程时,我们对于如何使用我们的颜色对象突然有了更多的控制,我们甚至可以检测颜色的组成部分,比方说,一些其他代码传给你一个UIColor类型的对象,而你想要检测其红,绿,蓝,alpha成分,为了得到UIColor对象的各个分量,请按照下列步骤:
1.使用我们的UIColor 类的实例的CGColor实例方法。它会返回一个CGColorRef类型的颜色对象,这是一个CoreGraphics Color Reference对象;
2.使用CGColorGetComponents函数获取组成颜色对象的各个分量;
3.如果需要,使用CGColorGetNumberOfComponents函数来确定组成该颜色的颜色分量的数量。
例如:
UIColor *steelBlueColor =
[UIColor colorWithRed:0.3f green:0.4f blue:0.6f alpha:1.0f]; CGColorRef
colorRef = [steelBlueColor CGColor];
const CGFloat *components = CGColorGetComponents(colorRef); NSUInteger componentsCount = CGColorGetNumberOfComponents(colorRef);
NSUInteger counter = 0;
for (counter = 0; counter < componentsCount; counter++) {
NSLog(@"Component %lu = %.02f", (unsigned long)counter + 1, components[counter]);
}
运行此代码后我的控制台窗口中输出如下:
Component 1 = 0.30 Component 2 = 0.40 Component 3 = 0.60 Component 4 = 1.00
一段简单的介绍,也许哪天会用上。