Загрузка картинок python tkinter - PullRequest
2 голосов
/ 01 августа 2020

Так что я совершенно не знаком с Python и пытаюсь научиться создавать GUI для своего бизнеса, чтобы автоматизировать некоторые из моих работ. Я пытаюсь загрузить jpeg в приложение, которое создаю, но получаю тот же код ошибки. Вот он и мой код под ним:

    self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't recognize data in image file "C:\Users\samuel baker\Desktop\Yo3Updated140_Orthomosaic_export_SunJun14164005.937211.jpg

Код:

from tkinter import *
from PIL import ImageTk, Image

image = ImageTk, Image
root = Tk()

myCanvas = Canvas(root, height=700, width=700, bg="skyblue")
myCanvas.pack()

myFrame = Frame(root, height=450, width=450, bg="pink")
myFrame.place(relx=0.5, rely=0.5, anchor=CENTER)

my_Image = PhotoImage(image, file="C:\\Users\\samuel baker\\Desktop\\Yo3Updated140_Orthomosaic_export_SunJun14164005.937211.jpg")
Canvas.create_image(0, 0, anchor=NW, image=my_Image)

myLabel = Label(root, text="Hi Sam", fg="gold", bg="White", padx="25", pady="20", font=('Courier New', 30))
myLabel.place(relx=0.5, rely=0.1, anchor=CENTER)

root.mainloop()

Ответы [ 2 ]

2 голосов
/ 01 августа 2020

Вы использовали Python встроенный PhotoImage(), который не поддерживает изображения JPEG.

Замените

my_Image = PhotoImage(image, file=...)

на

my_Image = ImageTk.PhotoImage(file=...)`

Также следующие строка

Canvas.create_image(0, 0, anchor=NW, image=my_Image)

должна быть

myCanvas.create_image(0, 0, anchor=NW, image=my_Image)

PS: Я считаю, что строка image = Image, ImageTk опечатка, поэтому удалите ее.

1 голос
/ 01 августа 2020

Python Встроенная функция PhotoImage не может импортировать изображение JPEG. Попробуйте использовать

my_Image = ImageTk.PhotoImage(•••)

вместо

my_Image = PhotoImage(•••)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...