Python+Turtle繪制航海王草帽路飛詳解
一、程序運(yùn)行
1.效果展示 - 輪廓描繪
看輪廓描繪效果:
2.效果展示 - 顏色填充
衣服和褲子顏色填充效果:
二、實(shí)現(xiàn)過(guò)程
1.繪圖數(shù)據(jù)下載
內(nèi)容預(yù)覽:
2.海龜繪圖配置項(xiàng)
降低刷新率可提升繪制速度,值越大刷新頻率越低,速度越快
t.tracer(5000)
def set_trutle(): ''' 作用:海龜繪圖配置項(xiàng) 參數(shù):無(wú) 返回:無(wú) ''' # 默認(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.輪廓繪制
通過(guò)下落畫筆 t.pendown()
和抬起畫筆 t.penup()
來(lái)避免連線問(wèn)題。
def draw_lufei_outline(): ''' 作用:繪制路飛輪廓 參數(shù):無(wú) 返回:無(wú) ''' # 數(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() # 解決圖像只繪制一半的問(wèn)題 t.sety(y1) # 軌跡追蹤與繪制 t.goto(x1, y1) t.color(color) # 抬起畫筆 t.penup() except Exception as e: print() f.close() print("輪廓繪制完成")
效果圖演示:
4.顏色填充:衣服、褲子
繪制衣服、褲子的紅色和藍(lán)色。
def draw_lufei_tintage1(): ''' 作用:路飛顏色填充:衣服、帽子 參數(shù):無(wú) 返回:無(wú) ''' # 數(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() # 解決圖像只繪制一半的問(wèn)題 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ù):無(wú) 返回:無(wú) ''' # 數(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() # 解決圖像只繪制一半的問(wèn)題 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 # 作者:小藍(lán)棗 # 圖像繪制:路飛 import turtle as t import time x = 224 y = 345 def set_trutle(): ''' 作用:海龜繪圖配置項(xiàng) 參數(shù):無(wú) 返回:無(wú) ''' # 默認(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ù):無(wú) 返回:無(wú) ''' # 數(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() # 解決圖像只繪制一半的問(wèn)題 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ù):無(wú) 返回:無(wú) ''' # 數(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() # 解決圖像只繪制一半的問(wèn)題 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ù):無(wú) 返回:無(wú) ''' # 數(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() # 解決圖像只繪制一半的問(wèn)題 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繪制航海王草帽路飛詳解的詳細(xì)內(nèi)容,更多關(guān)于Python Turtle路飛的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解決python 執(zhí)行sql語(yǔ)句時(shí)所傳參數(shù)含有單引號(hào)的問(wèn)題
這篇文章主要介紹了解決python 執(zhí)行sql語(yǔ)句時(shí)所傳參數(shù)含有單引號(hào)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06TensorFlow人工智能學(xué)習(xí)按索引取數(shù)據(jù)及維度變換詳解
這篇文章主要為大家介紹了TensorFlow人工智能學(xué)習(xí)按索引取數(shù)據(jù)及維度變換的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11Python如何基于Tesseract實(shí)現(xiàn)識(shí)別文字功能
這篇文章主要介紹了Python如何基于Tesseract實(shí)現(xiàn)識(shí)別文字功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Python機(jī)器學(xué)習(xí)NLP自然語(yǔ)言處理基本操作之京東評(píng)論分類
自然語(yǔ)言處理( Natural Language Processing, NLP)是計(jì)算機(jī)科學(xué)領(lǐng)域與人工智能領(lǐng)域中的一個(gè)重要方向。它研究能實(shí)現(xiàn)人與計(jì)算機(jī)之間用自然語(yǔ)言進(jìn)行有效通信的各種理論和方法2021-10-10Python?Streamlit制作交互式可視化網(wǎng)頁(yè)應(yīng)用實(shí)例
這篇文章主要為大家介紹了Python?Streamlit制作交互式可視化網(wǎng)頁(yè)應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12python 插入日期數(shù)據(jù)到Oracle實(shí)例
這篇文章主要介紹了python 插入日期數(shù)據(jù)到Oracle實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03