关于UIColor这个类的一些不知道的事

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 

一段简单的介绍,也许哪天会用上。

原文地址:https://www.cnblogs.com/lingzhiguiji/p/3537442.html