Python Canvas の概要


🖼️ Python Canvas の概要

Canvas は、図形描画や画像表示、インタラクティブな操作が可能なウィジェットで、tkinter ライブラリの一部です。


目次

🔧 基本構文

from tkinter import *

root = Tk()

canvas = Canvas(root, width=400, height=300, bg="white")
canvas.pack()

root.mainloop()

✏️ 主な描画メソッド

メソッド内容
create_line(x1, y1, x2, y2, ...)線を描く
create_rectangle(x1, y1, x2, y2)長方形を描く
create_oval(x1, y1, x2, y2)楕円(円)を描く
create_polygon(x1, y1, x2, y2, ...)多角形を描く
create_text(x, y, text="...")テキスト表示
create_image(x, y, image=...)画像表示(PhotoImageなど使用)

🎯 オブジェクトの操作

描画した要素は「オブジェクトID」で管理され、個別に動かしたり変更できます。

obj = canvas.create_rectangle(50, 50, 100, 100, fill="blue")

canvas.move(obj, 10, 0)                     # 移動
canvas.itemconfig(obj, fill="red")         # 色変更
canvas.delete(obj)                         # 削除

🎮 イベントとインタラクション

マウスイベントなどを使って、ユーザー操作に反応できます。

def on_click(event):
    canvas.create_oval(event.x-10, event.y-10, event.x+10, event.y+10, fill="green")

canvas.bind("<Button-1>", on_click)

🔄 アニメーションも可能

after()を使うことで、一定時間ごとに処理を繰り返せます。

def animate():
    canvas.move(obj, 5, 0)
    root.after(50, animate)

animate()

📌 用途の例

  • ゲーム(ブロック崩し・シューティングなど)
  • 図形エディタ・ドローイングツール
  • 簡単なチャートやグラフ
  • インタラクティブなシミュレーション

✅ まとめ

特徴説明
高い自由度座標で直接描画できる
インタラクティブマウスやキーボード操作が可能
アニメーションafter() で動的表現が可能
他のウィジェットとの組み合わせも可能Frameなどと併用できる

Canvasを使って「こんなアプリ作ってみたい」などあれば、サンプルコードも用意できます!気軽に聞いてくださいね 😊

よかったらシェアしてね!
目次