在计算机图形中,RGB(Red、Green、Blue)和十六进制颜色代码是两种常用的颜色表示方式。 RGB 使用三个 0~255 的整数表示红、绿、蓝的强度,而十六进制颜色代码则用 #RRGGBB 的形式表示,每个分量用两位十六进制数表示。
转换原理 RGB 转十六进制时,将每个颜色分量的十进制值转换为两位十六进制,并按顺序拼接: R(十六进制) + G(十六进制) + B(十六进制)。 例如:
- 红色
(255, 0, 0)→FF0000→ #FF0000 - 金色
(255, 215, 0)→FFD700→ #FFD700
Python 转换示例
def rgb_to_hex(r, g, b):
# 限制范围 0~255
return "#{:02X}{:02X}{:02X}".format(r, g, b)
def hex_to_rgb(hex_code):
hex_code = hex_code.lstrip('#')
return tuple(int(hex_code[i:i+2], 16) for i in (0, 2, 4))
# 示例
print(rgb_to_hex(255, 0, 0)) # #FF0000
print(hex_to_rgb("#FFD700")) # (255, 215, 0)
上述代码中,{:02X} 表示将整数格式化为两位大写十六进制,不足两位补零。
常见颜色对照
- 黑色
(0,0,0)→ #000000 - 白色
(255,255,255)→ #FFFFFF - 蓝色
(0,0,255)→ #0000FF - 黄色
(255,255,0)→ #FFFF00 - 品红
(255,0,255)→ #FF00FF - 青色
(0,255,255)→ #00FFFF
注意事项
十六进制颜色代码不区分大小写,但通常使用大写以便阅读。
RGB 值超出 0~255 会导致颜色失真,应在转换前进行范围校验。
在 Web 开发中,#RRGGBB 还可以简写为 #RGB(当每个分量的两位十六进制相同,如 #FF0000 → #F00)。
这样,你就可以在编程、网页设计、图像处理等场景中自由地在 RGB 与十六进制颜色之间转换了。
十六进制一个周期的数码符号有16个,表示为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A代表10,B代表11,C代表12,D代表13,E代表14,F代表15。这也就是我们平时为什么在开发色值代码里看不到什么K啊、S啊、W这些F以后的字母。