使用Python的pencolor函數(shù)實現(xiàn)漸變色功能
前言
在學(xué)習(xí)turtle庫繪圖時,改變線條顏色往往可以獲得驚艷的效果。對于pencolor函數(shù)的使用,簡單的字符串調(diào)用顏色十分簡單,但其樂趣遠(yuǎn)不止一個"red"、一個"blue"這樣,利用RGB參數(shù)進(jìn)行選色,還可以玩出漸變的花樣
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、RGB簡介
RGB,工業(yè)界的一種顏色標(biāo)準(zhǔn),說白了就是我們現(xiàn)在所能見到的幾乎所有顏色都是紅綠藍(lán)三種顏色按照不同比例混合而成的。
二、RGB在pencolor中的應(yīng)用
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三值部分對應(yīng)顏色如下圖所示(摘于網(wǎng)上,侵權(quán)刪):
2.RGB模式切換
RGB模式可以通過colormode()函數(shù)進(jìn)行切換,輸入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()
注: 黃色對應(yīng)的RGB整數(shù)值為(255,255,0),對應(yīng)的RGB小數(shù)值為(1,1,0),所以我們只要確定RG的值不變,改變B的值即可繪出黃色的漸變色!
那為什么表示軸坐標(biāo)的y是隨機(jī)變的,還會出現(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)
注: 灰色對應(yīng)的情況為RGB三值相等,由黑色對應(yīng)的RGB值為(0,0,0),白色對應(yīng)的RGB值為(255,255,255),可知,我們只要確保RGB三值相等且其值在規(guī)定區(qū)間內(nèi)變化,就能繪出灰色的漸變色!
總結(jié)
利用pencolor繪制漸變色有兩步:一是熟悉pencolor函數(shù)的RGB模式怎么使用;二是了解所要繪制顏色對應(yīng)的RGB值,通過改變RGB值來調(diào)漸變色。
到此這篇關(guān)于使用Python的pencolor函數(shù)實現(xiàn)漸變色功能的文章就介紹到這了,更多相關(guān)Python pencolor漸變色內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)學(xué)生成績測評系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)學(xué)生成績測評系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06Python使用Tkinter實現(xiàn)機(jī)器人走迷宮
這篇文章主要為大家詳細(xì)介紹了Python使用Tkinter實現(xiàn)機(jī)器人走迷宮,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01編譯 pycaffe時報錯:fatal error: numpy/arrayobject.h沒有那個文件或目錄
這篇文章主要介紹了編譯 pycaffe時報錯:fatal error: numpy/arrayobject.h沒有那個文件或目錄,需要的朋友可以參考下2020-11-11Python爬蟲程序中使用生產(chǎn)者與消費者模式時進(jìn)程過早退出的問題
本文主要介紹了Python爬蟲程序中使用生產(chǎn)者與消費者模式時進(jìn)程過早退出的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01Pandas時間序列基礎(chǔ)詳解(轉(zhuǎn)換,索引,切片)
今天小編就為大家分享一篇Pandas時間序列基礎(chǔ)詳解(轉(zhuǎn)換,索引,切片),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02python3 循環(huán)讀取excel文件并寫入json操作
這篇文章主要介紹了python3 循環(huán)讀取excel文件并寫入json操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件
這篇文章主要介紹了使用pyqt5 實現(xiàn)ComboBox的鼠標(biāo)點擊觸發(fā)事件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03python實現(xiàn)微信定時每天和女友發(fā)送消息
這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)微信定時每天和女友發(fā)送消息,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-04-04