Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python Turtle生成线性渐变?_Python_Linear Gradients_Python Turtle - Fatal编程技术网

如何使用Python Turtle生成线性渐变?

如何使用Python Turtle生成线性渐变?,python,linear-gradients,python-turtle,Python,Linear Gradients,Python Turtle,我当前正在尝试复制此映像: 我试着在背景中做梯度,但我没有任何线索如何做,互联网上基本上什么都没有。 编辑:如果有帮助的话,我有两端的RGB颜色。顶部为rgb(154,0254),底部为rgb(221122,80)。原油,但快速有效: from turtle import Screen, Turtle COLOR = (0.60156, 0, 0.99218) # (154, 0, 254) TARGET = (0.86328, 0.47656, 0.31250) # (221, 122,

我当前正在尝试复制此映像: 我试着在背景中做梯度,但我没有任何线索如何做,互联网上基本上什么都没有。
编辑:如果有帮助的话,我有两端的RGB颜色。顶部为rgb(154,0254),底部为rgb(221122,80)。

原油,但快速有效:

from turtle import Screen, Turtle

COLOR = (0.60156, 0, 0.99218)  # (154, 0, 254)
TARGET = (0.86328, 0.47656, 0.31250)  # (221, 122, 80)

screen = Screen()
screen.tracer(False)

WIDTH, HEIGHT = screen.window_width(), screen.window_height()

deltas = [(hue - COLOR[index]) / HEIGHT for index, hue in enumerate(TARGET)]

turtle = Turtle()
turtle.color(COLOR)

turtle.penup()
turtle.goto(-WIDTH/2, HEIGHT/2)
turtle.pendown()

direction = 1

for distance, y in enumerate(range(HEIGHT//2, -HEIGHT//2, -1)):

    turtle.forward(WIDTH * direction)
    turtle.color([COLOR[i] + delta * distance for i, delta in enumerate(deltas)])
    turtle.sety(y)

    direction *= -1

screen.tracer(True)
screen.exitonclick()

因为您没有发布任何代码,所以很难说您需要什么帮助。您是否知道如何实现的高级概念,并且正在努力实现海龟,或者您甚至不知道如何设计任何生成线性渐变的东西?如果你甚至还在为这个概念而挣扎,我会在编写代码之前关注它。基本上,您希望生成一个像素高的水平线,第一行是一种颜色,最后一行是另一种颜色,中间的每一行都有两种颜色的线性插值。这一切都有意义吗?正如Random Davis在上面所说的,你需要把它分成小块。首先,你需要用不同的颜色画平行线。然后你需要计算每条线的颜色。选择其中一个,并将其分成更小的步骤。试着分别找出每一个问题,当你在某件事情上遇到困难时,告诉我们。