PythonのGUIのtkinterを使う方法7 画像の設置方法


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

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

関連記事



スポンサーリンク