[Python] pythonのtkinter-canvas関数を使用して、ドラえもんのプロセスの詳細な説明を描画します(ソースコード付き)

1はじめに

ドラえもんを描くプロセスは、実際にはドラえもんを解体するプロセスです。まず、頭、目、鼻、口、あごひげ、体、鐘、ポケット、手足などを想像する必要があります(図のように)。次の塗装作業を行うことができます。心の中に丘と峡谷があり、それが起こります。

このケースは、Pythonに付属する統合開発環境IDLEを介して作成および実行され、主にPythonのtkinterモジュールのcanvasコンポーネントを使用します。

Tkinterモジュール(Tkインターフェース)は、Pythonの標準TkGUIツールキットのインターフェースです。

Canvas(canvas)は汎用コンポーネントであり、通常、グラフィックの表示と編集に使用されます。これを使用して、線分、円、ポリゴンを描画したり、他のコンポーネントを描画したりすることもできます。

ドラえもんの描き方を詳しく説明しましょう!行きましょう...

2描画プロセス

2.1頭を描く

w.create_oval(100,40,300,240、fill = '青')
w.create_oval(115,70,285,240、fill = '白')

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 = '黒')
w.create_oval(189,65,192,75、fill = '白')
w.create_oval(208,65,211,75、fill = '白')

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、塗りつぶし= '白')

    手先1
= [
(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()

 

 

おすすめ

転載: blog.csdn.net/u010521062/article/details/114003699