今回は、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 ラベルとエデットボックスの設置方法を参考にしてください。