gpt4 book ai didi

objective-c - 颜色 |从 RGB 值创建颜色

转载 作者:太空狗 更新时间:2023-10-30 03:35:15 25 4
gpt4 key购买 nike

在我的应用程序中,我将获得作为无符号字符的 RGB 值,因此它不会超过 255,我正在使用 NSColor API 来创建颜色并将使用它来绘制字体和背景颜色,

这是我写的函数

+(NSColor *)getColorFromRGB:(unsigned char)r blue:(unsigned char)b green:(unsigned char)g
{
CGFloat rFloat = r/255.0;
CGFloat gFloat = g/255.0;
CGFloat bFloat = b/255.0;

// return [NSColor colorWithCalibratedRed:((float)r/255.0) green:((float)g/255.0) blue:((float)b/255.0) alpha:1.0];
return [NSColor colorWithCalibratedRed:rFloat green:gFloat blue:bFloat alpha:1.0];
}

几乎在所有情况下,当我使用 RGB 调色板中的 RGB 值比较颜色时,颜色都不匹配,例如,当我通过时,

r = 187,g = 170,b = 170,

它应该绘制浅灰色,但我得到的是完整的白色,在这种情况下,

任何人都有想法,我做错了什么,

亲切的问候

罗汉

最佳答案

代码对我有用。尝试调试,你记得在创建颜色后调用 -set 吗?这是一些有效的示例代码:

static NSColor *colorFromRGB(unsigned char r, unsigned char g, unsigned char b)
{
return [NSColor colorWithCalibratedRed:(r/255.0f) green:(g/255.0f) blue:(b/255.0f) alpha:1.0];
}

...

- (void)drawRect:(NSRect)rect {
NSColor *c = colorFromRGB(50, 100, 255);
[c set]; // <-- Important
NSRectFill(rect);
}

关于objective-c - 颜色 |从 RGB 值创建颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5090603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com