0
當我加載一個透明的圖像:圖片顯示問題
def load_image(path):
img = Image.open(path)
return ImageTk.PhotoImage(img)
class Home_Screen(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.home = Tk()
self.home.resizable(width = False,height = False)
self.home.geometry("700x500+300+100")
self.start()
def run(self):
self.images()
Label(self.home, image = self.background).pack() # Put it in the display window
button_instructions = Label(self.home,image = self.b_instructions).place(x = 300,y = 200)
self.home.mainloop()
def images(self):
self.background = load_image("Images/night-sky.jpg")
self.b_instructions = load_image("button_instructions.png")
def start_game(self):
self.home.destroy()
Home = Home_Screen()
我與它周圍的白色邊框的圖像。有誰知道爲什麼原始透明度不被保留?如果可以,請提供解決方案。
只要確定,你確定圖像有一個alpha通道(像PNG,而不是JPEG)? – 2013-03-26 00:36:04
我敢肯定,我有一個透明的.png圖像,我檢查了幾次 – 2013-03-26 00:37:52
首先,你必須弄清楚_where_透明度正在迷失。獲取'img'模式以確保它具有alpha通道,然後執行'pixels = img.load()'並確保某些像素實際上是透明的。嘗試將'img'保存到一個新的PNG文件,並確保它仍然是透明的。如果這一切都有效,那麼問題_is_在'PhotoImage'中,或者以您顯示它的方式。但我敢打賭,事實並非如此。 – abarnert 2013-03-26 00:57:16