如何将 RGB 输入转换为十进制颜色代码?
Posted
技术标签:
【中文标题】如何将 RGB 输入转换为十进制颜色代码?【英文标题】:How can I convert an RGB input into a decimal color code? 【发布时间】:2014-10-13 19:51:38 【问题描述】:假设我有一个 rgb 颜色代码,其中红色值为 255,绿色值为 255,蓝色值为 0。如何仅使用数学运算从这些数字中获取十进制颜色代码?所以我的设置,在伪代码中,看起来像:
int r = 255;
int g = 255;
int b = 0;
int result = /*decimal color code for yellow*/
请帮忙,我已经花了很长时间试图找到答案,并且希望得到一个简单快速的答案:)
【问题讨论】:
【参考方案1】:int result = (r * 256 * 256) + (g * 256) + b
或者,如果你的语言有移位运算符,
int result = (r << 16) + (g << 8) + b
【讨论】:
【参考方案2】:在 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))
【讨论】:
以上是关于如何将 RGB 输入转换为十进制颜色代码?的主要内容,如果未能解决你的问题,请参考以下文章