各種の図形を描くときは、canvasと云うwidget(部品)を使うのが常套手段です。
文字・直線・曲線などを表すwidgetの主なものは次のようなものです。 これだけ知っていればゲーム用キャラクターも描けるかも。
まず次のウィンドー作成codeは決まり文句
import tkinter as tk
root = tk.Tk()
root.title(“キャンバスに図形を描く”)
root.geometry(“600×600”)
###############
#ウインドー内に三つのキャンバスを準備する(一つ目)
cvs1 = tk.Canvas(root, width=200, height=600, bg=”light yellow”)
cvs1.place(x=0, y=0)
#ウインドー内に三つのキャンバスを準備する (二つ目)
cvs2 = tk.Canvas(root, width=200, height=600, bg=”lavenderblush”)
cvs2.place(x=200, y=0)
#ウインドー内に三つのキャンバスを準備する (三つ目)
cvs3 = tk.Canvas(root, width=200, height=600, bg=”honeydew”)
cvs3.place(x=400, y=0)
これから描画用パーツを張り付けます。
#①文字列の表示
cvs1.create_text(60, 50, text=”Python”, angle=45, fill=”red”, font=(“Times New Roman”, 24))
#②直線を引く
cvs1.create_line(30, 150, 70, 150, fill=”navy”, width=5)
#③、④曲線を引く
cvs1.create_line(80, 250, 30, 280, 180, 310, 150, 330, width=2, fill=”blue”)
cvs1.create_line(80, 420, 30, 450, 180, 480, 150, 510, width=2, fill=”red”, smooth=True) #上の曲線をスムースにした場合
#⑤⑥矩形を描く
cvs2.create_rectangle(40, 40, 160, 100, fill=”pink”)
cvs2.create_rectangle(60, 140, 120, 260, fill=”palegreen”, outline=”red”, width=5)
#⑦⑧楕円を描く
cvs2.create_oval(50-30, 400-30, 150+30, 400+30, fill=”silver”, outline=”purple”) #縁あり
cvs2.create_oval(50-30, 500-30, 150+30, 500+30, fill=”cyan”, width=0) #縁無し
cvs2.create_oval(50, 500, 150, 400) #x0 y0, x1 y1の順序、間にある円はおまけ
#⑨三角形を描く
cvs3.create_polygon(100, 50, 50, 100, 150, 100, fill=”magenta”, outline=”black”,width=5)
#⑩多角形を描く
cvs3.create_arc(100-50, 200-50, 100+50, 200+50, fill=”yellow”, start=30, extent=320)
#⑪多角形を描く
cvs3.create_arc(50-50, 350-50, 100+50, 400+50, fill=”gold”, start=0, extent=120, style=tk.CHORD)
#⑫多角形を描く
#cvs3.create_arc(50-50, 450-50, 50+50, 450+50, outline=”orange”, with=5, start=0, extent=120, style=tk.ARC)
cvs3.create_arc(0, 450, 150, 600, outline=”orange”, width=5, start=0, extent=120, style=tk.ARC)
root.mainloop()
次のように描写されます。