แทรกรูปภาพ JPG ใน Python โดยใช้ Tkinter

ฉันกำลังพยายามแทรกรูปภาพโดยใช้ Tkinter แต่มันไม่ทำงาน มีข้อความแสดงข้อผิดพลาดแจ้งว่า: (อันที่จริงมันบอกว่า python ไม่รู้จักข้อมูลในไฟล์รูปภาพ)

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"

และนี่คือรหัสที่ฉันป้อน:

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()

ปัญหาคือฉันไม่มีโมดูลใด ๆ ยกเว้นโมดูลที่ดาวน์โหลดไว้ล่วงหน้าด้วย python และฉันยังไม่ต้องการติดตั้งบางส่วนเลย แล้วคุณช่วยฉันได้ไหม?


person Rezestick    schedule 24.09.2019    source แหล่งที่มา
comment
คลาส PhotoImage ของ tk ไม่รองรับ jpg   -  person Bryan Oakley    schedule 24.09.2019


คำตอบ (1)


ถ้าคุณใช้ jpg คุณต้องทำเช่นนั้น

from PIL import ImageTk

แล้ว

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

ฉันได้ลดความซับซ้อนของไฟล์ dir โปรดทราบว่าฉันได้เพิ่มขนาดของรูปภาพจาก 0,0 เป็น 50,50

person 1966bc    schedule 24.09.2019
comment
อันที่จริงฉันได้ลองอะไรแบบนั้นแล้ว แต่มันบอกว่าฉันไม่มีโมดูล PIL เลย .. นั่นคือเหตุผลว่าทำไมฉันถึงไม่เข้าใจ - person Rezestick; 24.09.2019