使用Python的pencolor函數(shù)實(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)刪):
RGB模式可以通過colormode()函數(shù)進(jìn)行切換,輸入colormode(1.0)表示1.0模式,輸入colormode(255)表示255模式。
3.玩轉(zhuǎn)漸變色黃色漸變色效果圖:
代碼:
import turtle as tfrom 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)就是這個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)變化,就能繪出灰色的漸變色!
總結(jié)利用pencolor繪制漸變色有兩步:一是熟悉pencolor函數(shù)的RGB模式怎么使用;二是了解所要繪制顏色對應(yīng)的RGB值,通過改變RGB值來調(diào)漸變色。
到此這篇關(guān)于使用Python的pencolor函數(shù)實(shí)現(xiàn)漸變色功能的文章就介紹到這了,更多相關(guān)Python pencolor漸變色內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP中常用的22個FSO文件操作函數(shù)整理2. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁3. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp4. .Net core 的熱插拔機(jī)制的深入探索及卸載問題求救指南5. SharePoint Server 2019新特性介紹6. html清除浮動的6種方法示例7. 讀大數(shù)據(jù)量的XML文件的讀取問題8. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析9. React+umi+typeScript創(chuàng)建項(xiàng)目的過程10. Vue+elementUI下拉框自定義顏色選擇器方式
