【python】利用python的tkinter-canvas函数绘制哆啦A梦过程详解(附源码)
1 引 言
繪制哆啦A夢的過程,其實是對哆啦A夢進行拆解的過程,得先構思出他的頭部、眼睛、鼻子、嘴巴、胡須、身體、鈴鐺、口袋、手以及腳等(如下圖所示),才能進行下一步的繪畫工作。心中有丘壑,方能水到渠成。
本案例通過python自帶的集成開發環境IDLE進行編寫并運行,主要應用了python的tkinter模塊的canvas組件。
Tkinter 模塊(Tk 接口)是 Python 的標準 Tk GUI 工具包的接口;
Canvas(畫布) 是一個通用的組件,通常用于顯示和編輯圖形。你可以用它來繪制線段、圓形、多邊形,甚至是繪制其它組件。
下面就來詳細說明哆啦A夢的繪畫過程吧!!!Let's go......
2 繪制過程
2.1?繪制頭部
w.create_oval(100,40,300,240,fill = 'blue')
w.create_oval(115,70,285,240,fill = 'white')
2.2 繪制研究
w.create_oval(165,50,200,90,fill = 'white')
w.create_oval(200,50,235,90,fill = 'white')
w.create_oval(185,62,195,77,fill = 'black')
w.create_oval(205,62,215,77,fill = 'black')
w.create_oval(189,65,192,75,fill = 'white')
w.create_oval(208,65,211,75,fill = 'white')
2.3 繪制鼻子
w.create_oval(193,83,207,97,fill = 'red')
2.4?繪制嘴巴
w.create_line(200,97,200,177)
w.create_arc(130,67,270,177,start=-45,extent = -90,style = ARC)
2.5 繪制胡須
w.create_line(180,127,130,127)
w.create_line(220,127,270,127)
w.create_line(180,107,140,97)
w.create_line(220,107,260,97)
w.create_line(180,147,140,157)
w.create_line(220,147,260,157)
?
2.6 繪制身體
w.create_rectangle(120,200,280,350,fill = 'blue')
w.create_oval(130,180,270,320,fill='white')
w.create_arc(130,180,270,320,outline = 'white',start=45,extent = 90,style = ARC)
2.7 繪制鈴鐺
w.create_rectangle(125,195,275,205,fill = 'red')
w.create_arc(118,195,132,205,fill = 'red',start = 90,extent = 180)
w.create_arc(268,195,282,205,fill = 'red',start = 90,extent = -180)
w.create_line(125,195,125,205,fill = 'red')
w.create_line(275,195,275,205,fill = 'red')
w.create_oval(188,200,212,224,fill='yellow')
w.create_line(188,212,212,212)
w.create_line(190,209,211,209)
w.create_oval(197,215,203,221,fill = 'red')
w.create_line(200,221,200,224)
2.8 繪制口袋
w.create_arc(155,205,245,295,style = PIESLICE,start = 0,extent = -180)
2.9 繪制手腳
#腳
w.create_arc(180,330,220,370,style = PIESLICE,start = 0,extent = 180,fill = 'white',outline = 'white')
w.create_oval(100,332,190,368,fill = 'white')
w.create_oval(210,332,300,368,fill = 'white')
#手
points1 = [
? ? (120,205),
? ? (120,265),
? ? (90,280),
? ? (80,260)
]
w.create_polygon(points1,fill = 'blue',outline = 'black')
w.create_oval(55,260,95,300,fill = 'white')
points2 = [
? ? (280,205),
? ? (280,265),
? ? (310,280),
? ? (320,260)
]
w.create_polygon(points2,fill = 'blue',outline = 'black')
w.create_oval(345,260,305,300,fill = 'white')
3 運行結果
4 完整源碼
from tkinter import *root = Tk() root.geometry('410x410+500+200') root.title('***哆啦A夢***')#繪制幕布 w = Canvas(root,width = 400,height = 400,bg = 'white') w.pack()#繪制坐標系 w.create_line(0,200,400,200,fill = 'green',dash = (4,4)) w.create_line(200,0,200,400,fill = 'green',dash = (4,4))#繪制頭部 w.create_oval(100,40,300,240,fill = 'blue') w.create_oval(115,70,285,240,fill = 'white')#繪制眼睛 w.create_oval(165,50,200,90,fill = 'white') w.create_oval(200,50,235,90,fill = 'white') w.create_oval(185,62,195,77,fill = 'black') w.create_oval(205,62,215,77,fill = 'black') w.create_oval(189,65,192,75,fill = 'white') w.create_oval(208,65,211,75,fill = 'white')#繪制鼻子 w.create_oval(193,83,207,97,fill = 'red')#繪制嘴巴 w.create_line(200,97,200,177) w.create_arc(130,67,270,177,start=-45,extent = -90,style = ARC)#繪制胡須 w.create_line(180,127,130,127) w.create_line(220,127,270,127)w.create_line(180,107,140,97) w.create_line(220,107,260,97)w.create_line(180,147,140,157) w.create_line(220,147,260,157)#繪制身體 w.create_rectangle(120,200,280,350,fill = 'blue') w.create_oval(130,180,270,320,fill='white')w.create_arc(130,180,270,320,outline = 'white',start=45,extent = 90,style = ARC)#繪制鈴鐺 w.create_rectangle(125,195,275,205,fill = 'red') w.create_arc(118,195,132,205,fill = 'red',start = 90,extent = 180) w.create_arc(268,195,282,205,fill = 'red',start = 90,extent = -180) w.create_line(125,195,125,205,fill = 'red') w.create_line(275,195,275,205,fill = 'red')w.create_oval(188,200,212,224,fill='yellow') w.create_line(188,212,212,212) w.create_line(190,209,211,209) w.create_oval(197,215,203,221,fill = 'red') w.create_line(200,221,200,224)#繪制口袋w.create_arc(155,205,245,295,style = PIESLICE,start = 0,extent = -180)#繪制手腳#腳 w.create_arc(180,330,220,370,style = PIESLICE,start = 0,extent = 180,fill = 'white',outline = 'white') w.create_oval(100,332,190,368,fill = 'white') w.create_oval(210,332,300,368,fill = 'white')#手 points1 = [(120,205),(120,265),(90,280),(80,260) ]w.create_polygon(points1,fill = 'blue',outline = 'black') w.create_oval(55,260,95,300,fill = 'white')points2 = [(280,205),(280,265),(310,280),(320,260) ] w.create_polygon(points2,fill = 'blue',outline = 'black') w.create_oval(345,260,305,300,fill = 'white')mainloop()?
?
總結
以上是生活随笔為你收集整理的【python】利用python的tkinter-canvas函数绘制哆啦A梦过程详解(附源码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2023LPL春季赛常规赛各大奖项出炉
- 下一篇: 海贝 R6PRO II 高清无损 HiF