如果你有一个表格,你输入了十六进制的颜色代码
FFFFFF你将如何确定它们的色调?比如青色,橙色,等等?
所以如果有人输入了
#FF8000该色调将打印在页面上,显示为橙色。
如果可能的话,您也可以解释一下这是如何工作的吗?或者把我链接到能解释它的东西上?
在我的python主脚本中输入这段代码可以转换成HSV吗?
#RGB to HSV start
ONE_THIRD = 1.0/3.0
ONE_SIXTH = 1.0/6.0
TWO_THIRD = 2.0/3.0
def rgb_to_hsv(r, g, b):
maxc = max(r, g, b)
minc = min(r, g, b)
v = maxc
if minc == maxc:
return 0.0, 0.0, v
s = (maxc-minc) / maxc
rc = (maxc-r) / (maxc-minc)
gc = (maxc-g) / (maxc-minc)
bc = (maxc-b) / (maxc-minc)
if r == maxc:
h = bc-gc
elif g == maxc:
h = 2.0+rc-bc
else:
h = 4.0+gc-rc
h = (h/6.0) % 1.0
return h, s, v
#RGB to HSV end发布于 2012-06-16 10:13:02
请参阅colorsys。
基本上,它是这样工作的:
>>> import colorsys
>>> colorsys.rgb_to_hsv(.3, .4, .2)
(0.25, 0.5, 0.4)发布于 2012-06-16 10:10:54
我不确定有没有一种简单的算法来解决这个问题,从而得到准确和描述性的颜色名称。我认为需要某种形式的查询。
除非你已经访问了十六进制代码/描述的数据库,否则一种方法是使用字典,其中你的键将是你的十六进制代码,值将是相应的描述。您可以查找十六进制代码并显示相应的颜色描述。
您可以从任意数量的专门针对该排序类型的颜色信息的网页(如Hexadecimal Color Code Chips Table (Hue at 10° of separation)或this Hexadecimal Color Codes )中找到字典的值
尽管有大量的十六进制代码,但我不确定您自己从头开始构建这个代码是否可行。
发布于 2012-06-16 10:46:37
使用Tools\pynche中的文件webcolors.txt,您可以创建自己的function,它将返回传递的十六进制值的颜色名称:
with open ('Tools\pynche\webcolors.txt') as f:
color_dict={x.split()[1].strip():x.split()[0].strip() for x in f.readlines()[1:]}
color_dict['fetch']=lambda x:color_dict.get(x.lower(),'color not found')
print( color_dict['fetch']('#ffFF00') )
print( color_dict['fetch']('#AAdd00') )
print(color_dict['fetch']('#FFFFFF'))输出:
Yellow
color not found
Whitehttps://stackoverflow.com/questions/11060227
复制相似问题