TKinter Python3.x调整图像大小

2024-07-07 08:10:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用TKinter调整图像大小。 请注意,我不会使用PIL。在

我现在怎么能有这个图像,它工作得很好。在

logo = PhotoImage(file="logo_dribbble-01_1x.PNG")
label = Label(f1,image=logo, borderwidth=0, highlightthickness=0)
label.pack()

logo_dribbble-01_1x.PNG

我想调整这个形象,使标志看起来更小。在

我试过这么做,有人建议我here

^{pr2}$

但这会创建一个空标签而不显示图像。在

我尝试使用Photoshop调整图像大小,然后使用该图像,然后使用.png图像显示较小的图像,如下所示:

logo = PhotoImage(file="logo_dribbble-01_1xsmall.PNG")
smallLabel = Label(f1,image=smallLogo, borderwidth=0, highlightthickness=0)
smallLabel.pack()

logo_dribbble-01_1xsmall.PNG

但是,当我尝试运行代码时,会出现这个错误 _tkinter.TclError: encountered an unsupported criticial chunk type "mkBF"

我如何解决这个问题?在


Tags: 图像imagepngtkinterlabelpackfilef1
3条回答

以下代码适用于我:

from tkinter import *

f1 = Tk()
smallLogo = PhotoImage(file="image.PNG")
smallLogo = smallLogo.subsample(2, 2)
smallLabel = Label(f1,image=smallLogo, borderwidth=0, highlightthickness=0)
smallLabel.pack()
f1.mainloop()

注意我在tk-8.6上

smallLogo = PhotoImage(file="logo_dribbble-01_1x.PNG")
smallLogo_one = smallLogo.subsample(2, 2)
smallLabel = Label(f1,image=smallLogo_one, borderwidth=0, highlightthickness=0)
smallLabel.pack()

我想这能解决你。你的PhotoImage的变量与子示例的变量相同,可以为您修剪图像。 我将subsample的变量改为smallLogo_one,并将其解析为标签中的image属性。在

我必须保留标签使用的图像的参考,如下所示:

logo = PhotoImage(file="image.png")
logo = logo.subsample(2, 2)
label = Label(root,image=logo, borderwidth=0, highlightthickness=0)
label.image = logo
label.pack()

相关问题 更多 >