使用Python的pencolor函數實現漸變色功能

前言

在學習turtle庫繪圖時,改變線條顏色往往可以獲得驚艷的效果。對於pencolor函數的使用,簡單的字符串調用顏色十分簡單,但其樂趣遠不止一個”red”、一個”blue”這樣,利用RGB參數進行選色,還可以玩出漸變的花樣

提示:以下是本篇文章正文內容,下面案例可供參考

一、RGB簡介

RGB,工業界的一種顏色標準,說白瞭就是我們現在所能見到的幾乎所有顏色都是紅綠藍三種顏色按照不同比例混合而成的。

二、RGB在pencolor中的應用

1.RGB模式

pencolor(R, G, B)的RGB模式有兩種,1.0和255,1.0表示輸入的RGB三值范圍為[0,1]的小數,255表示輸入的RGB三值范圍為[0,255]的整數。
:輸入的RGB值須在該RGB模式的范圍之內!
RGB三值部分對應顏色如下圖所示(摘於網上,侵權刪):

在這裡插入圖片描述

2.RGB模式切換

RGB模式可以通過colormode()函數進行切換,輸入colormode(1.0)表示1.0模式,輸入colormode(255)表示255模式。

3.玩轉漸變色

黃色漸變色效果圖:

在這裡插入圖片描述

代碼:

import turtle as t
from random import *

def gradient():
 x = randint(-200, 200)
 y = randint(0, 200)
 r = 1
 g = 1
 b = y / 200
 t.pencolor(r, g, b)
 
 i = randint(3,20)
 t.penup()
 t.goto(x, y)
 t.pendown()
 t.fd(i)
 
def main():
 t.setup(400, 400, 800, 300)
 t.bgcolor('black')
 t.tracer(0)
 t.pensize(5)
 for i in range(100):
  gradient()
 t.hideturtle()
 t.update()
 
main()

註: 黃色對應的RGB整數值為(255,255,0),對應的RGB小數值為(1,1,0),所以我們隻要確定RG的值不變,改變B的值即可繪出黃色的漸變色!
那為什麼表示軸坐標的y是隨機變的,還會出現層次分明的漸變色的效果呢?
:重點就是這個y瞭,因為b值調用的就是y值,而y值確定表示在y軸的位置確定的,b值確定表示顏色確定,所以才會出現層次分明的漸變色!

灰色漸變色效果圖:

在這裡插入圖片描述

代碼:

def gradient():
 x = randint(-200, 200)
 y = randint(0, 200)
 r = y / 200
 g = y / 200
 b = y / 200
 t.pencolor(r, g, b)
 
 i = randint(3,20)
 t.penup()
 t.goto(x, y)
 t.pendown()
 t.fd(i)

註: 灰色對應的情況為RGB三值相等,由黑色對應的RGB值為(0,0,0),白色對應的RGB值為(255,255,255),可知,我們隻要確保RGB三值相等且其值在規定區間內變化,就能繪出灰色的漸變色!

總結

利用pencolor繪制漸變色有兩步:一是熟悉pencolor函數的RGB模式怎麼使用;二是瞭解所要繪制顏色對應的RGB值,通過改變RGB值來調漸變色。

到此這篇關於使用Python的pencolor函數實現漸變色功能的文章就介紹到這瞭,更多相關Python pencolor漸變色內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: