如何在文本小部件中嵌入图像

时间:2011-06-20 15:01:14

标签: python tkinter

我知道可以在Tkinter文本小部件中嵌入图像,但我一直无法找到一些简单的示例代码。 具体来说,我需要嵌入一个jpg,所以根据文档,我认为我需要使用photoimage类

我试着用这个:

  img=PhotoImage ( file=imgfn )
  text.image_create(image=img)

其中imgfn是图像文件名,文本是我的文本小部件, 但我得到“_tkinter.TclError:无法识别图像文件中的数据......”

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

PhotoImage仅处理GIFPGM/PPM个文件。要将JPEG与Tkinter一起使用,您可以使用Python Imaging Library (PIL)创建PhotoImage

from PIL import Image, ImageTk

img = Image.open("yourimg.jpg")
photoImg = ImageTk.PhotoImage(img)

或者,如果可能,您可以使用PhotoImage支持的其他格式之一。