an error occured to add picture in python

匿名 (未验证) 提交于 2019-12-03 02:43:01

问题:

I am new in python and I am using python 3.5 version. I want to add photo to python, and here's the code I wrote:

from tkinter import * win=Tk() win.title("Python Image")  canvas=Canvas(win,width=500,height=500) canvas.pack()  my_image=PhotoImage(file="C:\\Users\\Public\\Pictures\\Sample Pictures\\Desert.jpg") canvas.create_image(0,0,anchor=NW,image=my_image)   win.mainloop() 

But when I run it, the following error occurred:

Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>>  ================ RESTART: C:\Users\LABE-2\Desktop\rakibul.py ================ Traceback (most recent call last):   File "C:\Users\LABE-2\Desktop\rakibul.py", line 8, in <module>     my_image=PhotoImage(file="C:\\Users\\Public\\Pictures\\Sample Pictures\\Desert.jpg")   File "C:\Users\LABE-2\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 3539, in __init__     Image.__init__(self, 'photo', name, cnf, master, **kw)   File "C:\Users\LABE-2\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 3495, in __init__     self.tk.call(('image', 'create', imgtype, name,) + options) _tkinter.TclError: couldn't recognize data in image file "C:\Users\Public\Pictures\Sample Pictures\Desert.jpg" >>>  

回答1:

Photoimage can natively only load png and pgm&ppm images (http://effbot.org/tkinterbook/photoimage.htm).

You can load other image formats via PIL. For python3 use Pillow like this:

from PIL  import Image, ImageTk from tkinter import Tk,Canvas,NW win=Tk() win.title("Python Image")  canvas=Canvas(win,width=500,height=500) canvas.pack()  # use your path here ... my_image = ImageTk.PhotoImage(Image.open(r"some.jpg")) canvas.create_image(0,0,anchor=NW,image= my_image )  win.mainloop() 

You could have found all this information in NorthCats answer to How do I insert a JPEG image into a python Tkinter window? as well.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!