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