Hex 和 RGB 两种颜色表示法:

[1] - RGB:三通道颜色,从颜色的发光原理来设定的, 相当于红绿蓝三个颜色通过不同亮度, 来组合成为需要的颜色;0为最暗, 255为最亮;红绿蓝三色通道, 外加alpha透明度, 来展示几乎所有的颜色.

[2] - Hex:十六进制颜色,通过16进制0~F这16个字符来表达颜色,000000为黑色, FFFFFF为白色

Hex 与 RGB 中的每个颜色都有一一对应关系:

RGB的数值 = 16 * HEX的第一位 + HEX的第二位

如,

RGB - 92, 184, 232,

92 / 16 = 5余12 -> 5C

184 / 16 = 11余8 -> B8

232 / 16 = 14余8 -> E8

HEX = 5CB8E8

Hex - F26BC1

F2 = 15和2 -> 15 * 16 + 2 = 242

6B = 6和11 -> 6 * 16 + 11 = 107

C1 = 12和1 -> 12 * 16 + 1 = 193

Python 实现如下:

#Hex2RGB
def hex2rgb(hex):
    h = hex.lstrip('#')
    return tuple(int(h[i:i+2], 16) for i in (0, 2, 4))

#RGB2Hex
def rgb2hex(rgb):
    r, g, b = rgb
    return ('#{:X}{:X}{:X}').format(r, g, b)

#
print(hex2rgb('#c96d9d'))
print(rgb2hex((201, 109, 157)))
Last modification:January 17th, 2022 at 02:33 pm