ary*_*axt 1 iphone rgb objective-c cgcolor
我试图从CGColor获取rgb值我使用followig代码.问题是红色,绿色和蓝色的所有返回值总是以浮点形式返回,并且它们总是在0和1之间,例如:rgb(0.000000, 0.847059, 0.945098)
我如何将这些val转换为真正的rgb值?
int numComponents = CGColorGetNumberOfComponents(color);
if (numComponents == 4)
{
const CGFloat *components = CGColorGetComponents(color);
CGFloat red = components[0];
CGFloat green = components[1];
CGFloat blue = components[2];
CGFloat alpha = components[3];
}
Run Code Online (Sandbox Code Playgroud)
它返回以百分比表示的正确rgb值.所以,如果你的红色= .8,它是255的80%,即204
所以你的代码看起来像这样:
int numComponents = CGColorGetNumberOfComponents(color);
if (numComponents == 4)
{
const CGFloat *components = CGColorGetComponents(color);
NSInteger red = (NSInteger) components[0] * 255;
NSInteger green = (NSInteger) components[1] * 255;
NSInteger blue = (NSInteger) components[2] * 255;
CGFloat alpha = components[3];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2598 次 |
| 最近记录: |