我使用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循环和列表/数据结构