解决tkinter.PhotoImage()仅支持gif等几种不常用的图片格式问题

如果想用 ".jpg"文件格式,直接用下面的代码,会报“couldn't recognize data in image file "C:\Users\happy\Desktop\test.jpg"错误。

photo = tk.PhotoImage(file="C:\\Users\\happy\\Desktop\\test.jpg") 
Lab= tk.Label(root,text='欢迎来到皮卡丘之家',compound='center',font = ('微软雅黑',30),image= photo)
Lab.pack()

因为tkinter.PhotoImage()仅支持 GIF and PGM/PPM 文件格式。

解决:

利用PIL包来实现,(支持30多种图片格式)代码如下:

import tkinter as tk
from PIL import Image, ImageTk

root = tk.Tk()
root.geometry('650x450+150+100')
root.title('Test')
root.resizable(False, False)

global photo
#设置条形框,插入图片
image = Image.open("C:\\Users\\happy\\Desktop\\test.jpg")
photo = ImageTk.PhotoImage(image) 
Lab= tk.Label(root,text='欢迎来到皮卡丘之家',compound='center',font = ('微软雅黑',30),image= photo)
Lab.pack()#设置主界面
 
root.mainloop()  

效果:

                            

参考官网:http://effbot.org/tkinterbook/photoimage.htm

  • 10
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Foneone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值