gpt4 book ai didi

python - Tkinter 错误 : Couldn't recognize data in image file

转载 作者:太空狗 更新时间:2023-10-29 21:25:28 26 4
gpt4 key购买 nike

我正在尝试将 jpg 图像放到 tkinter Canvas 上。 tkinter 给我这个错误:

couldn't recognize data in image file

我使用文档中的代码:

canv = Canvas(root, width=80, height=80, bg='white')
canv.grid(row=2, column=3)

img = PhotoImage(file="bll.jpg")
canv.create_image(20,20, anchor=NW, image=img)

与 png 图像相同。甚至试图将图像放入标签小部件中,但得到了同样的错误。怎么了?

我在 Mac 上使用 Python 3。 Python 文件和图像在同一个文件夹中。

最佳答案

您的代码似乎是正确的,这是在 Windows 7 (Python 3.6) 上为我运行的:

from tkinter import *
root = Tk()

canv = Canvas(root, width=80, height=80, bg='white')
canv.grid(row=2, column=3)

img = PhotoImage(file="bll.jpg")
canv.create_image(20,20, anchor=NW, image=img)

mainloop()

导致此 tkinter GUI:

GUI将此图像作为 bll.jpg:image

(imgur 将其转换为 bll.png 但这对我也有效。)


更多选项:

  • This answer提到,tkinter 仅适用于 gif 图像。尝试使用 .gif 图片。
  • 如果这不起作用,请使用 PIL,如 this answer 中所述.

更新PIL解决方案:

from tkinter import *
from PIL import ImageTk, Image
root = Tk()

canv = Canvas(root, width=80, height=80, bg='white')
canv.grid(row=2, column=3)

img = ImageTk.PhotoImage(Image.open("bll.jpg")) # PIL solution
canv.create_image(20, 20, anchor=NW, image=img)

mainloop()

关于python - Tkinter 错误 : Couldn't recognize data in image file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47357090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com