Rozdział 7 · Głębokie zanurzenie w Turtle

colormode i kolory

Nazwa, kod HEX-code lub trójka RGB liczb to trzy sposoby na powiedzenie Turtle tego samego: „ten kolor”

Już ustaliliśmy kolory według nazwy — "purple", "gold". Ale Turtle ma też sposób numeryczny — przez komponenty czerwonego, zielonego i niebieskiego (RGB).

Dwa tryby: 0.0-1.0 i 0-255

screen.colormode() określa, w jakim zakresie zapisywane są liczby RGB:

Modekażdy zakres liczbPrzykład czerwieni
colormode(1.0) (domyślnie)0.0 — 1.0(1.0, 0.0, 0.0)
colormode(255)0 — 255(255, 0, 0)
colormode_kod.py
screen.colormode(255)
artist.pencolor(255, 0, 0)   # Czerwony, Składniki 0-255

screen.colormode(1.0)
artist.pencolor(1.0, 0, 0)  # ten sam czerwony, komponenty 0.0-1.0
Liczby poza zakresem są błędem
Jeśli zostanie zainstalowany colormode(1.0), a przekażesz to dalej (255, 0, 0) – Turtle nie zrozumie, co miałeś na myśli z czerwonym: 255 to poza zakresem 0,0-1,0 i pojawi się błąd. Reżim i liczebność muszą się zgadzać.

RGB- – cała paleta

rgb_svatchi.py
import turtle

screen = turtle.Screen()
screen.setup(width=460, height=200)
screen.colormode(255)
artist = turtle.Turtle()
artist.hideturtle()
artist.penup()

swatches = [
    ((255, 0, 0), "red"),
    ((0, 200, 0), "green"),
    ((0, 0, 255), "blue"),
    ((255, 210, 0), "yellow"),
]
x = -170
for color, label in swatches:
    artist.goto(x, 0)
    artist.fillcolor(color)
    artist.pencolor("#0D0230")
    artist.pendown()
    artist.begin_fill()
    for _ in range(4):
        artist.forward(70)
        artist.left(90)
    artist.end_fill()
    artist.penup()
    artist.goto(x, -25)
    artist.write(label, font=("Arial", 12, "normal"))
    x += 110

screen.exitonclick()
Rezultat
Cztery kolorowe kwadraty w rzędzie — czerwony, zielony, niebieski i żółty — z podpisami pod każdym
colormode(255) — cztery kolory podane w trójkach (r, g, b) od 0 do 255
rgb_svatchi_kod.py
screen.colormode(255)

artist.fillcolor(255, 0, 0)     # czerwony
artist.fillcolor(0, 200, 0)     # zielony
artist.fillcolor(0, 0, 255)     # niebieski
artist.fillcolor(255, 210, 0)   #yellow

Trzy sposoby na ustawienie tego samego koloru

MetodaPrzykładwtedy, gdy jest to wygodne
Nazwa"red"szybki, jak na standardowe kolory
HEX-kod"#FF0000"dokładny odcień, jak w CSS/ projekcie
RGB- krotka(255, 0, 0)gdy kolor jest obliczany w kodzie (na przykład losowo)
Nie zagłębiając się w teorię kolorów
To wystarczy do ćwiczenia tego rozdziału. To, jak RGB jest ułożone „pod maską”
Praktyka: colormode i RGB
Moduł turtle otwiera natywne okno Python – uruchamiane lokalnie w VS Code, PyCharm lub Jupyter
Otwórz praktykę →