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我.......

颜色(二):CGColor

前言 CGColor主要用于CoreGraphics框架之中,CGColor其实是个结构体,而我们通常再使用CGColor的时候使用的是他的引用类CGColorRef。CGColor主要由CGCo...
  • xiaoxiaobukuang
  • xiaoxiaobukuang
  • 2016年01月09日 04:01
  • 1492

CGColorGetNumberOfComponents

[UIColor whiteColor] and [UIColor blackColor] use [UIColor colorWithWhite:alpha:] to create the UICo...
  • cactusz
  • cactusz
  • 2017年07月06日 16:31
  • 98

iOS CGColorGetComponents

今天看到一个库,里面用到了CGColorGetComponents和CGColorGetNumberOfComponents,去StackOverFlow找了下资料,自己验证了下,有点小了解了。 1....
  • Deft_MKJing
  • Deft_MKJing
  • 2016年05月30日 14:29
  • 1451

iOS 一些总结

二、 给navigation Bar 设置 title 颜色 UIColor *whiteColor = [UIColor whiteColor]; NSDictionary *dic = [NSDi...
  • u014600626
  • u014600626
  • 2016年09月27日 11:19
  • 283

CGColorGetComponents ( UIColor获取RGB值 用于颜色过渡) (二)

鉴于第一篇文章。写了下面的颜色过渡动画 //颜色过渡   +(UIColor *)currentColor:(UIColor*)color1 changeColor:(UIColor ...
  • jiyug108
  • jiyug108
  • 2016年08月29日 15:10
  • 191

原生二维码扫描

原生二维码扫描个人是比较支持用原生二维码扫描的,这里也就仅仅以原生二维码扫面为范例。另也有二维码扫描库ZBarSDK(点这里)和 ZXingObjC(点这里) 。1.原生扫描用到的几个类 @prope...
  • zhang522802884
  • zhang522802884
  • 2017年08月01日 14:23
  • 204

ios开发(二十一)UIColor,CGColor,CIColor三者的区别和联系

http://www.cnblogs.com/smileEvday/archive/2012/06/05/UIColor_CIColor_CGColor.html 最近看了看CoreGrap...
  • wangeen
  • wangeen
  • 2014年01月04日 13:14
  • 5345

CGColorGetComponents ( UIColor获取RGB值 用于颜色过渡) (一)

方法一:CGFloat*colors = CGColorGetComponents(hsbaColor.CGColor) 如: UIColor *color = [UIColor colorW...
  • jiyug108
  • jiyug108
  • 2016年08月29日 14:28
  • 223

iOS 显示%

显示98%。。。显示百分号% progressValue是一个浮点数。 valueLabel.text = [NSString stringWithFormat:@”%.0f%%”,progre...
  • db905517804
  • db905517804
  • 2016年01月23日 15:51
  • 331

iOS获取UIColor的ARGB

首先将UIColor转换为CGColor,再使用CGColorGetComponents方法可获取颜色一个长度为4非安全数组,取数组中各部分即可返回其ARGB值,但是值得注意的是如果UIColor使用...
  • jayasme
  • jayasme
  • 2015年06月06日 12:54
  • 667
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS CGColorGetComponents
举报原因:
原因补充:

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