Masukkan gambar JPG dengan Python menggunakan Tkinter

saya mencoba memasukkan gambar menggunakan Tkinter tetapi tidak berhasil, ada pesan kesalahan yang mengatakan: (Sebenarnya dikatakan bahwa python tidak dapat mengenali data dalam file gambar)

Traceback (most recent call last):
  File "E:/Tle/ISN/Programs (Pyhton)/IMC (Widget) ULTIMATE.py", line 10, in <module>
    my_image = PhotoImage(file="C:/Users/mateo.PCMATEO/Pictures/MonCoachPersonnel.jpg")
  File "C:\Users\mateo.PCMATEO\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 3545, in __init__
    Image.__init__(self, 'photo', name, cnf, master, **kw)
  File "C:\Users\mateo.PCMATEO\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 3501, in __init__
    self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't recognize data in image file "C:/Users/mateo.PCMATEO/Pictures/MonCoachPersonnel.jpg"

Dan inilah kode yang saya masukkan:

from tkinter import*
import tkinter as tk
window = tk.Tk()
window.title("My Personnal Fitness Coach")
window.geometry("400x500")
window.configure(background='grey')

canvas = Canvas(window, width = 100, height = 100)
canvas.pack
my_image = PhotoImage(file="C:/Users/mateo.PCMATEO/Pictures/MonCoachPersonnel.jpg")
canvas.create_image(0, 0, anchor = NW, image=my_image)

window.mainloop()

Masalahnya adalah saya tidak memiliki modul apa pun kecuali yang sudah diunduh sebelumnya dengan python dan saya belum ingin menginstalnya. Jadi bisakah kamu membantuku?


person Rezestick    schedule 24.09.2019    source sumber
comment
Kelas PhotoImage tk tidak mendukung jpg.   -  person Bryan Oakley    schedule 24.09.2019


Jawaban (1)


jika Anda menggunakan jpg Anda harus melakukannya

from PIL import ImageTk

Kemudian

my_image = ImageTk.PhotoImage(file="MonCoachPersonnel.jpg")
canvas.create_image(50, 50, image=my_image, anchor=NW)

Saya telah menyederhanakan direktori file, perhatikan bahwa saya telah meningkatkan dimensi gambar, dari 0,0 menjadi 50,50.

person 1966bc    schedule 24.09.2019
comment
Sebenarnya saya sudah mencoba hal seperti itu tetapi dikatakan saya tidak memiliki modul PIL.. jadi itu sebabnya saya tidak mengerti - person Rezestick; 24.09.2019