【发布时间】:2012-06-19 02:06:06
【问题描述】:
如果您有一个输入十六进制颜色代码的表单
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
【问题讨论】:
-
我的理解是你想要一个从十六进制代码到描述性颜色术语的映射,这是正确的,还是我误解了你想要做什么?
-
请看我下面的评论。没有理由不能将库中的函数直接放入代码中,但是当您可以导入库并调用它时,您为什么要像我在下面向您展示的那样?干净多了。
-
@user37078 这样我就可以查明并找出每件事的作用。如果我导入了一个文件,我将不得不并排读取这两个文件。而且我不会转换为其中列出的任何其他值。我猜只是让自己轻松一点。
-
@Levon 是的,差不多。唯一的问题是,我只想要基本的。我已经了解了红色、绿色和蓝色。如果您添加绿色,我只是想确定红色不再是红色,并且它会变成“橙色”颜色。与蓝色相同。如果你添加足够多的红色,但不要太多,它会变成洋红色。或者如果你得到一个很好的平衡,它会是紫色的。我只是想指出这些事情。黄色、橙色、洋红色、紫色、青色等基本颜色......
标签: python