2017-08-04 18 views
0

私はカードゲームを作るためにtkingterを使用しようとしています。Tkinter:背景付きのキャンバスに画像を描く方法

  1. キャンバスの背景としてテーブルイメージを設定します。
  2. カードをテーブルの背景の上に描画します。ボタンをクリックすると表示されます。

問題はテーブルの背景の上にカードイメージを作成できないことです。それを行う正しい方法は何ですか?テーブルの背景に直接描画するのではなく、別のキャンバスを作成する必要がありますか?私はここに欠けている何か基本的なものがあると感じます。

from tkinter import * 
from PIL import Image, ImageTk 


# globals 
table_dir = "C:/Python36/resourse/table.png" 
card_dir = "C:/Python36/resourse/card.jpg" 

#CREATE APP 
root = Tk() 

#LOAD IMAGES 
table_PIL = Image.open(table_dir) 
table_image = ImageTk.PhotoImage(table_PIL) 
card_PIL = Image.open(card_dir) 
card_image = ImageTk.PhotoImage(card_PIL) 

#make canvas and set background image with a label 
canv = Canvas(root, width=table_PIL.width, height=table_PIL.height, background="white") 

background_label = Label(canv, image = table_image) 
background_label.place(x=0, y=0, relwidth=1, relheight=1) 
canv.grid(row=0, column=0) 

#trying to create card image on top of background table, not working 
canv.create_image(200, 100, image=card_image) 

root.mainloop() 

答えて

0

背景にラベルを使用しないでください。カードを作成するのと同じように、背景を作成するにはcanv.create_image(...)を使用してください。

関連する問題