Python+Turtle繪制航海王草帽路飛詳解
一、程序運行
1.效果展示 - 輪廓描繪
看輪廓描繪效果:
2.效果展示 - 顏色填充
衣服和褲子顏色填充效果:
二、實現(xiàn)過程
1.繪圖數(shù)據(jù)下載
內(nèi)容預(yù)覽:
2.海龜繪圖配置項
降低刷新率可提升繪制速度,值越大刷新頻率越低,速度越快
t.tracer(5000)
def set_trutle(): ''' 作用:海龜繪圖配置項 參數(shù):無 返回:無 ''' # 默認(rèn)顏色區(qū)間是[0,1],切換為[0,255] t.Screen().colormode(255) # 設(shè)置起始大小 t.setup(width=x, height=y) # 調(diào)整坐標(biāo), t.setworldcoordinates(0,y,x,0) t.pen() # 設(shè)置繪制速度,0為最快 t.speed(0) # 禁用延遲提升速度 t.delay(0) # 提升速度,值越大越快 t.tracer(5000) # 設(shè)置默認(rèn)畫筆顏色為白色 t.pencolor((255,255,255)) # 抬起畫筆 t.penup()
3.輪廓繪制
通過下落畫筆 t.pendown()
和抬起畫筆 t.penup()
來避免連線問題。
def draw_lufei_outline(): ''' 作用:繪制路飛輪廓 參數(shù):無 返回:無 ''' # 數(shù)據(jù)文件讀取 f=open("lufei.txt","r") bigmom_date = f.read().split(" ") for i in bigmom_date: try: # 數(shù)據(jù)分離與轉(zhuǎn)化 j = i.split("_") x1 = round(float(j[0])) y1 = round(float(j[1])) color = j[2][1:-1].split(",") color[0]=int(color[0]) color[1]=int(color[1]) color[2]=int(color[2]) if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>50): color = (255,255,255); # 下落畫筆 t.pendown() # 解決圖像只繪制一半的問題 t.sety(y1) # 軌跡追蹤與繪制 t.goto(x1, y1) t.color(color) # 抬起畫筆 t.penup() except Exception as e: print() f.close() print("輪廓繪制完成")
效果圖演示:
4.顏色填充:衣服、褲子
繪制衣服、褲子的紅色和藍色。
def draw_lufei_tintage1(): ''' 作用:路飛顏色填充:衣服、帽子 參數(shù):無 返回:無 ''' # 數(shù)據(jù)文件讀取 f=open("lufei.txt","r") bigmom_date = f.read().split(" ") for i in bigmom_date: try: # 數(shù)據(jù)分離與轉(zhuǎn)化 j = i.split("_") x1 = int(j[0]) y1 = int(j[1]) color = j[2][1:-1].split(",") color[0]=int(color[0]) color[1]=int(color[1]) color[2]=int(color[2]) if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>150): color = (255,255,255); # 下落畫筆 t.pendown() # 解決圖像只繪制一半的問題 t.sety(y1) # 軌跡追蹤與繪制 t.goto(x1, y1) t.color(color) # 抬起畫筆 t.penup() except Exception as e: print() f.close() print("上色完成")
效果圖演示:
5.顏色填充:草帽、腰帶
繪制草帽、腰帶的黃色。
def draw_lufei_tintage2(): ''' 作用:路飛顏色填充:草帽、腰帶 參數(shù):無 返回:無 ''' # 數(shù)據(jù)文件讀取 f=open("lufei.txt","r") bigmom_date = f.read().split(" ") for i in bigmom_date: try: # 數(shù)據(jù)分離與轉(zhuǎn)化 j = i.split("_") x1 = int(j[0]) y1 = int(j[1]) color = j[2][1:-1].split(",") color[0]=int(color[0]) color[1]=int(color[1]) color[2]=int(color[2]) if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>215): color = (255,255,255); # 下落畫筆 t.pendown() # 解決圖像只繪制一半的問題 t.sety(y1) # 軌跡追蹤與繪制 t.goto(x1, y1) t.color(color) # 抬起畫筆 t.penup() except Exception as e: print() f.close() print("上色完成")
效果圖演示:
6.完整源碼
# -*- coding:utf-8 -*- # 2022-3-9 # 作者:小藍棗 # 圖像繪制:路飛 import turtle as t import time x = 224 y = 345 def set_trutle(): ''' 作用:海龜繪圖配置項 參數(shù):無 返回:無 ''' # 默認(rèn)顏色區(qū)間是[0,1],切換為[0,255] t.Screen().colormode(255) # 設(shè)置起始大小 t.setup(width=x, height=y) # 調(diào)整坐標(biāo), t.setworldcoordinates(0,y,x,0) t.pen() # 設(shè)置繪制速度,0為最快 t.speed(0) # 禁用延遲提升速度 t.delay(0) # 提升速度,值越大越快 t.tracer(5000) # 設(shè)置默認(rèn)畫筆顏色為白色 t.pencolor((255,255,255)) # 抬起畫筆 t.penup() def draw_lufei_outline(): ''' 作用:繪制路飛輪廓 參數(shù):無 返回:無 ''' # 數(shù)據(jù)文件讀取 f=open("lufei.txt","r") bigmom_date = f.read().split(" ") for i in bigmom_date: try: # 數(shù)據(jù)分離與轉(zhuǎn)化 j = i.split("_") x1 = round(float(j[0])) y1 = round(float(j[1])) color = j[2][1:-1].split(",") color[0]=int(color[0]) color[1]=int(color[1]) color[2]=int(color[2]) if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>50): color = (255,255,255); # 下落畫筆 t.pendown() # 解決圖像只繪制一半的問題 t.sety(y1) # 軌跡追蹤與繪制 t.goto(x1, y1) t.color(color) # 抬起畫筆 t.penup() except Exception as e: print() f.close() print("輪廓繪制完成") def draw_lufei_tintage1(): ''' 作用:路飛顏色填充:衣服、帽子 參數(shù):無 返回:無 ''' # 數(shù)據(jù)文件讀取 f=open("lufei.txt","r") bigmom_date = f.read().split(" ") for i in bigmom_date: try: # 數(shù)據(jù)分離與轉(zhuǎn)化 j = i.split("_") x1 = int(j[0]) y1 = int(j[1]) color = j[2][1:-1].split(",") color[0]=int(color[0]) color[1]=int(color[1]) color[2]=int(color[2]) if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>150): color = (255,255,255); # 下落畫筆 t.pendown() # 解決圖像只繪制一半的問題 t.sety(y1) # 軌跡追蹤與繪制 t.goto(x1, y1) t.color(color) # 抬起畫筆 t.penup() except Exception as e: print() f.close() print("上色完成") def draw_lufei_tintage2(): ''' 作用:路飛顏色填充:草帽、腰帶 參數(shù):無 返回:無 ''' # 數(shù)據(jù)文件讀取 f=open("lufei.txt","r") bigmom_date = f.read().split(" ") for i in bigmom_date: try: # 數(shù)據(jù)分離與轉(zhuǎn)化 j = i.split("_") x1 = int(j[0]) y1 = int(j[1]) color = j[2][1:-1].split(",") color[0]=int(color[0]) color[1]=int(color[1]) color[2]=int(color[2]) if((color[0]*0.299 + color[1]*0.587 + color[2]*0.114)>215): color = (255,255,255); # 下落畫筆 t.pendown() # 解決圖像只繪制一半的問題 t.sety(y1) # 軌跡追蹤與繪制 t.goto(x1, y1) t.color(color) # 抬起畫筆 t.penup() except Exception as e: print() f.close() print("上色完成") set_trutle() draw_lufei_outline() draw_lufei_tintage1() draw_lufei_tintage2() time.sleep(10000)
以上就是Python+Turtle繪制航海王草帽路飛詳解的詳細內(nèi)容,更多關(guān)于Python Turtle路飛的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題
這篇文章主要介紹了解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06TensorFlow人工智能學(xué)習(xí)按索引取數(shù)據(jù)及維度變換詳解
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)按索引取數(shù)據(jù)及維度變換的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11Python如何基于Tesseract實現(xiàn)識別文字功能
這篇文章主要介紹了Python如何基于Tesseract實現(xiàn)識別文字功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06Python機器學(xué)習(xí)NLP自然語言處理基本操作之京東評論分類
自然語言處理( Natural Language Processing, NLP)是計算機科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個重要方向。它研究能實現(xiàn)人與計算機之間用自然語言進行有效通信的各種理論和方法2021-10-10Python?Streamlit制作交互式可視化網(wǎng)頁應(yīng)用實例
這篇文章主要為大家介紹了Python?Streamlit制作交互式可視化網(wǎng)頁應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12python 插入日期數(shù)據(jù)到Oracle實例
這篇文章主要介紹了python 插入日期數(shù)據(jù)到Oracle實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03