阅读:19660回复:0
python的PhotoImage报错: couldn't recognize data in image file
注意:用tkinter只能装入GIF图片,也就是扩展名是.gif的图片文件,想要显示其他类型的图片,如png或jpg,需要用到其它模块
了解到这一点后,将桌面上的一张jpg图片,通过重命名的方法,改成了gif,然后执行如下代码:发现出错了 from tkinter import * tk = Tk() canvas = Canvas(tk,width=700,height=700) canvas.pack() my_img = PhotoImage(file='C:\\Users\\Administrator\\Desktop\\yy.gif') canvas.create_image(10,10,anchor=NW,image=my_img) mainloop() 提示错误: _tkinter.TclError: couldn't recognize data in image file "C:\Users\Administrator\Desktop\yy.gif" 百度一下:http://stackoverflow.com/questions/28740462/tkinter-couldnt-recognize-data-in-image-file 根据上面文章的解答,了解到,重命名,根本不能改变图片格式,所以PhotoImage报错了。 于是,网上找了一张GIF图,下载下来,保存为a.jpg; 注意后缀名是jpg,不是gif,然后执行代码: from tkinter import * tk = Tk() canvas = Canvas(tk,width=700,height=700) canvas.pack() my_img = PhotoImage(file='C:\\Users\\Administrator\\Desktop\\aa.jpg') canvas.create_image(10,10,anchor=NW,image=my_img) mainloop() 执行上面的代码,居然正常运行,图片显示出来了,但是注意,它只显示的是静态图片,图片是不会动的. 总结:通过重命名不能修改图片的类型的,PhotoImage也不是看图片后缀名,而是图片本身的类型 |
|