假设我有一个rgb颜色代码,其中红色为255,绿色为255,蓝色为0。如何仅使用数学运算从这些数字中获取十进制颜色代码?所以我的设置,伪代码,看起来像:
int r = 255;
int g = 255;
int b = 0;
int result = /*decimal color code for yellow*/
请帮助,我已经花了很多年时间试图找到答案,并希望得到一个简单的快速答案:)
答案 0 :(得分:3)
int result = (r * 256 * 256) + (g * 256) + b
或者,如果您的语言有位移操作符,
int result = (r << 16) + (g << 8) + b
答案 1 :(得分:1)
在Python中:
#!/usr/bin/python
# Return one 24-bit color value
def rgbToColor(r, g, b):
return (r << 16) + (g << 8) + b
# Convert 24-bit color value to RGB
def colorToRGB(c):
r = c >> 16
c -= r * 65536;
g = c / 256
c -= g * 256;
b = c
return [r, g, b]
print colorToRGB(rgbToColor(96, 128, 72))