简体   繁体   中英

How do I make a linear gradient with Python Turtle?

I'm currently trying to replicate this image: https://imgur.com/a/IZIPGkg I'm trying to make that gradient in the background but I have zero clue how to do it and there's basically nothing on the inte.net. Edit: I have the RGB colors for both ends if that helps. The top is rgb(154,0,254) and the bottom is rgb(221,122,80).

Crude but resonably quick and effective:

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()

在此处输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM