キャンバスでビットマップを表示しよう
前回はCanvasウィジェットを使ってテキストを表示しました。
今回はキャンバス上にビットマップを表示してみましょう。
組み込みビットマップ
tkinterには、以下の名前付きビットマップが組み込まれてます。
error、gray12、gray25、gray50、gray75、hourglass、info、questhead、question、warning
Canvasウィジェットでビットマップを表示する
Canvasウィジェットでビットマップを表示するメソッドは、以下の通りです。
オブジェクト名.create_bitmap(座標, オプション)
座標の意味は、anchorオプションの指定によって異なります。
デフォルトでは表示するビットマップの中心位置になります。
create_bitmap()のオプション
create_bitmap()の主なオプションは、以下の通りです。
オプション名 | 内容 | |
bitmap | ビットマップオブジェクト | |
anchor | ビットマップの位置 | |
center | ビットマップの中心。デフォルト | |
n | ビットマップの上端 | |
s | ビットマップの下端 | |
w | ビットマップの左端 | |
e | ビットマップの右端 | |
nw | ビットマップの左上端 | |
ne | ビットマップの右上端 | |
sw | ビットマップの左下端 | |
se | ビットマップの右下端 | |
foreground | 前景色(オンのピクセルの色)。デフォルトは黒 | |
background | 背景色(オフのピクセルの色)。デフォルトは透過 |
Canvasウィジェットにビットマップを表示するプログラム
Canvasウィジェットにビットマップを表示するプログラムは、以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
### インポート import tkinter ### ビットマップ定義 bitmaps = ["error", "gray12", "gray25", "gray50", "gray75", "hourglass", "info", "questhead", "question", "warning"] ### キャンバス作成 canvas = tkinter.Canvas(master=None, width=640, height=400) ### キャンバス表示 canvas.pack() ### ビットマップ描画(デフォルト) for i in range(len(bitmaps)): canvas.create_bitmap(58*(i+1), 100, bitmap=bitmaps[i]) ### ビットマップ描画(オンビット赤) for i in range(len(bitmaps)): canvas.create_bitmap(58*(i+1), 200, bitmap=bitmaps[i], foreground="red") ### ビットマップ描画(オフビット緑) for i in range(len(bitmaps)): canvas.create_bitmap(58*(i+1), 300, bitmap=bitmaps[i], background="lime") ### イベントループ canvas.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。