一尘不染

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

python

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

我试图用这个:

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

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

谢谢你的帮助!


阅读 176

收藏
2021-01-20

共1个答案

一尘不染

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如果可能的话,您可以选择其他受支持的格式之一。

2021-01-20