我想让颜色改变饱和度 就像当你绘制一种颜色(红色)然后你改变它,这样它就不会立即变成白色。它慢慢地使它变浅,直到颜色变成白色。 不是这个帖子: 逐渐改变颜色乌龟(蟒蛇) 因为它会立即改变颜色。
我尝试过
colors = ["red","white"] for i in range(2): turtle.color(colors[i]) turtle.circle(100) done()
但随后,它立即改变颜色,这是我不想要的。
有人可以帮助我吗?
您面临的问题是,circle 方法正在做它自己的事情。一旦该例程开始,似乎就没有办法在绘制时影响它的任何属性。这意味着您必须发挥创意并制作自己的圆形绘制功能。下面是一个让您了解大致情况的示例。
import turtle as t
from collections import deque
from math import cos, sin, radians
#black to red gradient
c = [f'#{(c<<20|c<<16):06x}' for c in range(0, 16)]
colors = deque(c)
def draw_circle(radius, x, y, thickness=2):
t.width(thickness)
t.tilt(90) # emulate circle cursor
# move pen
t.penup()
t.goto(x + radius, y)
t.pendown()
t.color(colors[0])
t.begin_fill()
for i in range(1, 361):
t.tilt(1) # emulate circle cursor
# change colors
if i>15 and not i%(360//15):
colors.rotate(-1)
t.color(colors[0])
# draw this step
t.goto(radius * cos(radians(i)) + x, radius * sin(radians(i)) + y)
t.end_fill()
draw_circle(100, 0, 0)
t.mainloop()