是否可以直接将 HSV 值转换为 Hexcode 格式?
我的代码:
导入色彩系统
def hsv_to_hex(h,s,v): return '#' + ('{:x}{:x}{:x}').format(h,s,v)
st.write(hsv_to_hex(66,172,17))
结果返回以下十六进制代码: #42ac11(十六进制代码)
但我的问题是,当我检查#42ac11时,它是将rgb颜色转换为十六进制而不是hsv值。
我想将我的 HSV 值转换为十六进制代码以更改标记的颜色并显示图例十六进制代码,以便我能够像下图一样绘制它。
有没有办法让它直接转换而不需要在dataframe中进行修改?
不,十六进制代码是 RGB 的表示,而不是 HSV。您需要首先使用公式像这样将HSV转换为RGB。
此外,您的数据看起来不像典型的 HSV 值,尤其是饱和度为“172”的情况。如果它们确实代表 HSV,则在转换之前您需要使用 0 - 1 范围。