前言
在學習turtle庫繪圖時,改變線條顏色往往可以獲得驚艷的效果。對于pencolor函數(shù)的使用,簡單的字符串調(diào)用顏色十分簡單,但其樂趣遠不止一個"red"、一個"blue"這樣,利用RGB參數(shù)進行選色,還可以玩出漸變的花樣
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、RGB簡介
RGB,工業(yè)界的一種顏色標準,說白了就是我們現(xiàn)在所能見到的幾乎所有顏色都是紅綠藍三種顏色按照不同比例混合而成的。
二、RGB在pencolor中的應用
1.RGB模式
pencolor(R, G, B)的RGB模式有兩種,1.0和255,1.0表示輸入的RGB三值范圍為[0,1]的小數(shù),255表示輸入的RGB三值范圍為[0,255]的整數(shù)。
注:輸入的RGB值須在該RGB模式的范圍之內(nèi)!
RGB三值部分對應顏色如下圖所示(摘于網(wǎng)上,侵權(quán)刪):
2.RGB模式切換
RGB模式可以通過colormode()函數(shù)進行切換,輸入colormode(1.0)表示1.0模式,輸入colormode(255)表示255模式。
3.玩轉(zhuǎn)漸變色
黃色漸變色效果圖:
代碼:
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整數(shù)值為(255,255,0),對應的RGB小數(shù)值為(1,1,0),所以我們只要確定RG的值不變,改變B的值即可繪出黃色的漸變色!
那為什么表示軸坐標的y是隨機變的,還會出現(xiàn)層次分明的漸變色的效果呢?
答:重點就是這個y了,因為b值調(diào)用的就是y值,而y值確定表示在y軸的位置確定的,b值確定表示顏色確定,所以才會出現(xiàn)層次分明的漸變色!
灰色漸變色效果圖:
代碼:
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三值相等且其值在規(guī)定區(qū)間內(nèi)變化,就能繪出灰色的漸變色!
總結(jié)
利用pencolor繪制漸變色有兩步:一是熟悉pencolor函數(shù)的RGB模式怎么使用;二是了解所要繪制顏色對應的RGB值,通過改變RGB值來調(diào)漸變色。
到此這篇關(guān)于使用Python的pencolor函數(shù)實現(xiàn)漸變色功能的文章就介紹到這了,更多相關(guān)Python pencolor漸變色內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python中round函數(shù)保留兩位小數(shù)的方法
- python判斷all函數(shù)輸出結(jié)果是否為true的方法
- Python中return函數(shù)返回值實例用法