我如何转换的RGB输入成十进制颜色代码?(How can I convert an RGB inpu

2019-10-20 18:28发布

说我有一个值255的RGB颜色代码红色,255绿色和0蓝。 我怎样才能从这些数字的小数点颜色代码,只用数学运算? 所以我的设置,在伪代码,看起来像:

int r = 255;
int g = 255;
int b = 0;

int result = /*decimal color code for yellow*/

请帮帮忙,我已经花了年龄试图已经找到答案,他会喜欢简单快速的答案:)

Answer 1:

int result = (r * 256 * 256) + (g * 256) + b

或者,如果你的语言有一点移位运算符,

int result = (r << 16) + (g << 8) + b


Answer 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))


文章来源: How can I convert an RGB input into a decimal color code?