iOS CGColorGetComponents

原创 2016年05月30日 14:29:37

今天看到一个库,里面用到了CGColorGetComponents和CGColorGetNumberOfComponents,去StackOverFlow找了下资料,自己验证了下,有点小了解了。

1.请看代码,其中WhiteColor获取的CGColorGetNumberOfComponents是2  而且打印出来的UIDeviceWhiteColorSpace只有两个数字



2.下边是RGBA彩色颜色测试 获取的CGColorGetNumberOfComponents是4  而且打印出来的UIDeviceWhiteColorSpace只有四个数字



结论:[UIColor WhiteColor] [UIColor BlackColor] 或者 [UIColor GrayColor] 用[UIColor ColorWithWhite:Alpha:]来创建UIColor(UIDeviceWhiteColorSpace),所有CGColorRef的Components只有2 colors components,而CGColorRef的Components有4个 colors components的话是用[UIColor WithRed:Green:Blue:Alpha:]来创建UIColor的(UIDeviceRGBColorSpace),例如上面的[UIColor GreenColor]等其他RGB颜色


再贴一段代码,大家可以自行去验证打印结果

if (CGColorGetNumberOfComponents(colorRef) == 2)

    {

// 灰度空间

        const CGFloat *colorComponents = CGColorGetComponents(colorRef);

        NSLog(@"%@,r=%f,g=%f,b=%f,a=%f",colorRef,colorComponents[0],colorComponents[0],

colorComponents[0],colorComponents[1]);

    }

    else if (CGColorGetNumberOfComponents(colorRef) == 4)

    {

// 彩色RGBA空间

        const CGFloat *colorComponents = CGColorGetComponents(colorRef);

        NSLog(@"%@ r=%f,g=%f,b=%f,a=%f",colorRef,colorComponents[0],colorComponents[1],

colorComponents[2],colorComponents[3]);

    }

    else

    {

        NSLog(@"Unknow!!!");

    }



版权声明:本文为博主原创文章,未经博主允许不得转载。转载请Email我.......

相关文章推荐

iOS项目框架搭建

  • 2017-10-10 14:03
  • 2.67MB
  • 下载

IOS核心动画高级五:变换

在第四章“视觉效果”中,我们研究了一些增强图层和它的内容显示效果的一些技术,在这一章中,我们将要研究可以用来对图层旋转、摆放或者扭曲的CGAffineTransform。以及可以将扁平物体转换成三维空...

iOS UI学习之路02 - UIWindow、UIView详解

UIKit框架结构 构建和管理你的用户界面 捕获触摸和基于移动的事件 呈现文字和web内容 创建定制用户界面元素 UIView(视图)框架的结构图 Window和View的关系 ...

iOS MBProgressHUD使用

MBProgressHUD很多时候,当我们进入页面的时候,因为程序正在读取数据,页面呈现出一片空白。这会引起用户的焦虑,造成不好的用户体验。这个时候,如果能用一个过渡,便会缓解这种状况。 MBPro...

iOS组件化使用JLRoutes的demo

  • 2017-09-18 18:04
  • 130KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)