zoukankan      html  css  js  c++  java
  • 关于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 

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

  • 相关阅读:
    Eclipse对printf()不能输出到控制台的解决方法
    Eclipse launch failed.Binary not found解决方案
    Windows 7中使用Eclipse 使用CDT and WinGW 开发C/C++(转载)
    assets
    方法对头,报表模板维护其实很简单
    刷机包各个文件都是啥
    开机logo切换逻辑深入研究
    不同分辨率的LCM进行兼容
    SD卡驱动分析(二)
    SD卡驱动分析(一)
  • 原文地址:https://www.cnblogs.com/lingzhiguiji/p/3537442.html
Copyright © 2011-2022 走看看