
今回は、tkinterでpngなどの画像ファイルを表示させる方法を記しておきます。
Pythonのtkinterで画像を表示させる方法
from tkinter import *
from tkinter import ttk
win = Tk()
win.title('test')
#----------------------------------------
# 画像表示
pngfile=PhotoImage(file="IMG000.png")
cv=Canvas(bg="red",width=400-1,height=266-1)
cv.create_image(1,1,image=pngfile,anchor=NW)
cv.grid(row=1, column=1)
#----------------------------------------
win.mainloop()
画像が入ってるウインドウを作成します。
このサンプルの場合
表示はこのような物になります。
横幅400,縦幅266の画像ファイルを使って表示させています。
tkinterのウインドウに画像を設定する
tkinterのウインドウに画像ファイルを表示します。
.pngファイルのデータをロードする
pngfile=PhotoImage(file="IMG000.png")
画像のオブジェクト=PhotoImage( file=ファイルのパスと名前 )
.pngファイルをロードしオブジェクトを作成します。
キャンバスのオブジェクトの作成
cv=Canvas(bg="red",width=400-1,height=266-1)
キャンバスのオブジェクト=Canvas( bg=色を表す文字列 , width=横幅pixel , height=縦幅pixel)
キャンバスを作成します。
bgは背景の色を文字列で指定します。
選べる色は主に以下の通り
| black | 黒 |
| white | 白 |
| red | 赤 |
| blue | 青 |
| green | 緑 |
| yellow | 黄 |
キャンバスのwidthとheightは画像ファイルの数字より1pixelだけ大きくなるようなので-1しておきます。
キャンバスに画像を設定する
cv.create_image(1,1,image=pngfile,anchor=NW)
キャンバスのオブジェクト.create_image( X座標 , Y座標 , image=画像のオブジェクト , anchor=表示タイプ )
キャンバスに画像ファイルを設置し場所も指定します。
anchorで選んだ表示タイプに合わせてX座標とY座標を指定します。
anchorの種類は以下の通り
| NW | xの0を画像左、yの0を画像上とする |
| W | xの0を画像左、yの0を画像中央とする |
| N | xの0を画像中央、yの0を画像上とする |
| SE | xの0を画像右、yの0を画像下とする |
| S | xの0を画像中央、yの0を画像下とする |
| E | xの0を画像右、yの0を画像中央とする |
| CENTER | xの0を画像中央、yの0を画像中央とする |
その他
ボタンのウインドウ内の位置や幅などはPythonのGUIのtkinterを使う方法2 ラベルとエデットボックスの設置方法を参考にしてください。