2017-08-04 220 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(...)創建背景,就像創建卡片一樣。