如何一次将多个HEX值转换为HSV值?

  • 本文关键字:转换 HSV HEX 何一次 python
  • 更新时间 :
  • 英文 :


我使用Python使用hex2rgb()和rgb2hsv()函数将颜色HEX值转换为HSV值。关于我使用的代码的更多信息可以在这里找到:https://codeigo.com/python/convert-hex-to-rgb-and-hsv.

对于1个HEX值,代码工作得很好,但我不知道如何将此代码用于多个HEX值。

例子:Print (rgb2hsv(*hex2rgb("#b4a795")))可以工作,并给出以下输出:(35,17,71)。这就是我需要的,但是如果你有多个HEX值的列表,你怎么能使用这个代码?让我们以十六进制值#b4a795, #e7e0d6, #d7cfc8为例。

我必须补充一下,我是Python的新手,所以这可能是一个简单的解决方案。无论如何,任何帮助都是非常感激的!

列表推导式在这里可能很有帮助。您可以尝试这样做:

hex_values = ['#b4a795', '#e7e0d6', '#d7cfc8']
hsv_values = [rgb2hsv(*hex2rgb(hex_val)) for hex_val in hex_values]

将十六进制值放入列表中,然后迭代。

hexValues = ["#b4a795", "#e7e0d6", "#d7cfc8"]
hsvValues = []
for i in hexValues:
hsvValues.append(rgb2hsv(*hex2rgb(i)))
print(hsvValues)

您可以将颜色存储到列表中,并使用for循环对其进行细化

def convert_series(color_list):
my_list = []
for x in range(0,len(color_list)):
my_list.append(rgb2hsv(*hex2rgb(color_list[x])))
return my_list
list_color = ['#b4a795', '#e7e0d6', '#d7cfc8']
print(convert_series(list_color))
new_list = convert_series(list_color)

您可以通过new_list[0],new_list[1]等访问它们

我建议查看Python文档中的for循环和列表/数据结构

最新更新