2017-09-24 124 views
0

我正在嘗試使用畫布小部件在python 3.5中使用tkinter創建一個簡單的遊戲。對於這個遊戲,我需要能夠使用透明(PNG)圖像。這裏是我的代碼:在淺色帆布python上繪製png圖像

from PIL import ImageTk 
from tkinter import Tk, Canvas 

root = Tk() 
im = ImageTk.PhotoImage(file="test.png") 
canvas = Canvas(root, width=900, height=900) 
canvas.pack() 
canvasImage = canvas.create_image(0, 0, image=im, anchor="nw") 
root.mainloop() 

的問題是,儘管沒有得到任何錯誤,我不能加載圖像具有透明背景,但我可以不帶透明背景加載PNG圖像。

回答

0

你應該試試這個:

from tkinter import * 
root = Tk() 
canvas = Canvas(root, width=500, height=500) 
canvas.pack() 
img = PhotoImage(file='path/your_image.png') 
canvas.create_image(250, 250, image=img) 
root.mainloop() 

輸出here

+0

不要使用通配符的進口,而不是做'進口的Tkinter作爲tk' –

+0

@Coal_在這種情況下通配符導入罰款;永遠不要使用它並不是一條規則。 – SneakyTurtle

+0

對於這種特殊情況,我同意你的看法,但是如果你需要一個可擴展的代碼庫並且有很多交叉依賴關係,通配符導入是非常糟糕的。我的意思是,現在更容易忘記它們,而不必在以後爲每個對象預先加上'tk'。 –