TKinter python 3.x 调整图像大小

TKinter python 3.x resizing an image

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

我目前如何才能拥有这张图片,效果很好。

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

我想调整此图片的大小,使徽标看起来更小。

我试过这样做,建议这样做 here

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

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

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

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

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

我该如何解决这个问题?

以下代码对我有用:

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

我必须像这样保留标签使用的图像的参考:

logo = PhotoImage(file="image.png")
logo = logo.subsample(2, 2)
label = Label(root,image=logo, borderwidth=0, highlightthickness=0)
label.image = logo
label.pack()
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()

我认为这会解决问题,因为 you.Your PhotoImage 变量与 trim 图像的子样本变量相同。 我将子样本的变量更改为 smallLogo_one,并将其解析为标签中的图像属性。