您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)使用Python中pencolor函數(shù)實(shí)現(xiàn)漸變色功能的案例的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
Python是一種編程語言,內(nèi)置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門的大數(shù)據(jù)分析,人工智能,Web開發(fā)等。
在學(xué)習(xí)turtle庫繪圖時(shí),改變線條顏色往往可以獲得驚艷的效果。對于pencolor函數(shù)的使用,簡單的字符串調(diào)用顏色十分簡單,但其樂趣遠(yuǎn)不止一個(gè)"red"、一個(gè)"blue"這樣,利用RGB參數(shù)進(jìn)行選色,還可以玩出漸變的花樣
RGB,工業(yè)界的一種顏色標(biāo)準(zhǔn),說白了就是我們現(xiàn)在所能見到的幾乎所有顏色都是紅綠藍(lán)三種顏色按照不同比例混合而成的。
pencolor(R, G, B)的RGB模式有兩種,1.0和255,1.0表示輸入的RGB三值范圍為[0,1]的小數(shù),255表示輸入的RGB三值范圍為[0,255]的整數(shù)。
注:輸入的RGB值須在該RGB模式的范圍之內(nèi)!
RGB三值部分對應(yīng)顏色如下圖所示(摘于網(wǎng)上,侵權(quán)刪):
RGB模式可以通過colormode()函數(shù)進(jìn)行切換,輸入colormode(1.0)表示1.0模式,輸入colormode(255)表示255模式。
黃色漸變色效果圖:
代碼:
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()
注: 黃色對應(yīng)的RGB整數(shù)值為(255,255,0),對應(yīng)的RGB小數(shù)值為(1,1,0),所以我們只要確定RG的值不變,改變B的值即可繪出黃色的漸變色!
那為什么表示軸坐標(biāo)的y是隨機(jī)變的,還會出現(xiàn)層次分明的漸變色的效果呢?
答:重點(diǎn)就是這個(gè)y了,因?yàn)閎值調(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)
注: 灰色對應(yīng)的情況為RGB三值相等,由黑色對應(yīng)的RGB值為(0,0,0),白色對應(yīng)的RGB值為(255,255,255),可知,我們只要確保RGB三值相等且其值在規(guī)定區(qū)間內(nèi)變化,就能繪出灰色的漸變色!
利用pencolor繪制漸變色有兩步:一是熟悉pencolor函數(shù)的RGB模式怎么使用;二是了解所要繪制顏色對應(yīng)的RGB值,通過改變RGB值來調(diào)漸變色。
感謝各位的閱讀!關(guān)于“使用Python中pencolor函數(shù)實(shí)現(xiàn)漸變色功能的案例”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。