假设我有以下代码:
from PIL import Image, ImageTk
from tkinter import *
im = Image.open(<Some file path>)
root = Tk()
photo = ImageTk.PhotoImage(im)
label = Label(root, image=photo)
label.pack()
root.mainloop()
当文件路径是png之类的典型文件类型时,程序将按照您的期望显示图像。但是,当我给它一个tga文件(未压缩的Targa32 128x128)时,它不会显示图像(只留下一个空白区域)。但是,当使用Pillow的Image.show()方法时,图像确实显示,只是不与tkinter一起显示。
请注意,我仅使用全局变量,因此它不会成为垃圾回收问题。
如何将我的tga文件显示在我的tkinter界面中?
答案 0 :(得分:0)
那是短暂的。事实证明,出于某种原因将图像转换为RBG固定。
from PIL import Image, ImageTk
from tkinter import *
im = Image.open(<Some file path>)
root = Tk()
photo = ImageTk.PhotoImage(im.convert("RGB"))
label = Label(root, image=photo)
label.pack()
root.mainloop()