pycharm中读取jpg格式图

存在问题:
pycharm中读取图时只能读取png和gif格式的图,但jpg不能读取
如下代码,此处用的是tkinter模块读取图,但只能读取png和gif

import tkinter as tk
import time

root=tk.Tk()  #定义一个tkinter类tk; Tkinter为图形界面库
root.title("随机点名")  #标题
root.geometry('550x450')  #窗体尺寸

#定义图标签位
img=r'F:\PythonFiles\PycharmFile\exc.gif' 
 #只能读取png或gif文件,jpg不能读取
photo = tk.PhotoImage(file=img)
labelImg = tk.Label(root,image = photo)label.image = photo
labelImg.pack()
#labelImg.pack(padx=5, pady=10, side=tk.LEFT)
labelImg.place(x = 100,y = 150)

root.mainloop()  #使窗口保持

解决方案:
从PIL 引入Image和ImageTk模块,利用该模块加载jpg图即可
Image是用于读取图的
ImageTk是用于后续讲Image格式图装化为Tkinter类型图,方便在窗体上显示
代码如下:

import tkinter as tk
from PIL import Image,ImageTk

root=tk.Tk()  #定义一个tkinter类tk; Tkinter为图形界面库
root.title("随机点名")  #标题
root.geometry('550x450')  #窗体尺寸

#定义图标签位
img=r'F:\PythonFiles\PycharmFile\exc.jpg'  #只能读取png文件,jpg不能读取

photo = Image.open(img)  #利用Image模块打开图
tkPhoto=ImageTk.PhotoImage(photo)  #把Image图改为tkinter类型图
labelImg = tk.Label(root, image=tkPhoto)
labelImg.pack()
labelImg.config(image=tkPhoto)  #以下两句代码非常重要,是保证图在函数中可以被加载的途径
labelImg.image = tkPhoto
labelImg = tk.Label(root,image = tkPhoto)
labelImg.pack()

root.mainloop()  #使窗口保持

猜你喜欢

转载自blog.csdn.net/coberup/article/details/82988893