我使用python和turtle,绘制了3个绘制管:红色、黄色和蓝色。每根管子都有一个按钮,你可以点击,下面的碗会改变颜色,就像你在“混合”颜色一样。我已经点击红色使碗变成红色(以及其他颜色),但是现在我需要一些命令或语句,这样如果你点击红色的管,然后点击黄色的管,碗就会变成橙色。我不知道该怎么办,3根管子都有自己的海龟
我有使碗变成红色、黄色和红色的功能。 我也有一个功能,使碗橙色。 但如果真的有一个命令,我不知道你可以在哪里混合颜色或“如果点击”命令,我会使用它
请帮忙!截止日期:4月25日
def redColor(x, y):
red.hideturtle()
red.tracer(0,0)
red.seth(0)
red.goto(-140,-80)
red.pd()
red.fillcolor('red')
red.begin_fill()
red.pensize(1)
red.fd(280)
red.rt(135)
red.fd(66)
red.rt(45)
red.fd(190)
red.rt(45)
red.fd(66)
red.end_fill()
red.update()
red.onclick(redColor)
ylw.onclick(ylwColor)
blue.onclick(blueColor)
在内部,Python使用RGB color model表示颜色:对于每种颜色,它存储其Red、Green和Blue组件的强度。它允许每个组件有256个可能的值(从0到255),因此有256个红色、256个绿色和256个蓝色。这允许组合256*256*256=~1600万种颜色
您可以尝试此online RGB mixer(从维基百科网站获取的链接)来感受此颜色模型
例如,(255,0,0)将是最大红色强度,没有绿色和蓝色,因此这将为您提供全红色。而(255255,0)是最大的红色和绿色强度,没有蓝色,这导致黄色
要混合两种这样的RGB颜色,只需取每个分量的平均值。因此,当混合全红色(255,0,0)和黄色(255255,0)时,红色成分的平均值为(255+255)/2=255,绿色成分的平均值为(0+255)/2=128,蓝色成分的平均值为(0+0)/2=0
还有一种替代表示法,其中每个组件的强度表示为0.0到1.0之间的值,而不是0到255之间的值。所以在这个表示法中,全红色是(1.0,0.0,0.0),黄色是(1.0,1.0,0.0)。橙色将再次成为每个成分的平均值,即(1.0,0.5,0.0)。使用哪一个并不重要,但在我们的例子中,0.0-1.0表示更容易,因为我们在取平均值时不必担心四舍五入
要在海龟身上使用此功能,您必须采取两个步骤:
screen.colormode(1.0)
(reference)李>fillcolor((1.0,0.0,0.0))
而不是fillcolor('red')
设置海龟的颜色。当您对海龟调用fillcolor()
时,它将为您提供RGB表示(reference)李>总而言之:
相关问题 更多 >
编程相关推荐