首先对输入的RGB值进行了范围限制,确保它们在0到255之间。然后,我们使用内置的 hex
函数将RGB值转换为16进制格式,并使用 format
方法将其格式化为字符串。最后返回结果。这样我们就可以确保得到合法的16进制颜色表示。具体代码如下
def rgb_to_hex(r, g, b):
# 确保输入的RGB值在0到255之间
r = max(0, min(255, r))
g = max(0, min(255, g))
b = max(0, min(255, b))
# 使用内置的hex函数将RGB值转换为16进制格式,并去掉开头的"0x"
hex_color = "#{:02x}{:02x}{:02x}".format(r, g, b)
return hex_color
# 示例
r, g, b = 300, -20, 150 # 超出范围的RGB值
hex_color = rgb_to_hex(r, g, b)
print(hex_color) # 输出: #ff0096