在 tkinter 中调整图片大小
Resize picture size in tkinter
我想知道是否有一种方法可以调整已加载到 Tkinter 标签小部件中的图像的大小。我一直在尝试使用 Tkinter 制作一个骰子模拟器,它将显示显示随机数的骰子图像。问题是这些图像的大小不相似。这是程序的开始部分:
import tkinter as tk
from PIL import Image, ImageTk
from random import choice
root = tk.Tk()
root.title('Dice Simulator')
root.geometry('400x400')
root.resizable(0, 0)
dice = ['die1.jpg', 'die2.jpg', 'die3.jpg', 'die4.jpg', 'die5.jpg', 'die6.jpg']
DiceImage = ImageTk.PhotoImage(Image.open(choice(dice)))
ImageLabel = tk.Label(root, image=DiceImage)
ImageLabel.image = DiceImage
ImageLabel.pack(expand=True)
root.mainloop()
我们可以将图片调整为 400x400 并显示所有图片吗?
是的,open
有一个 resize(x,y)
方法可以将图像调整为给定的宽度 (x) 和高度 (y)。
dice = ['die1.jpg', 'die2.jpg', 'die3.jpg', 'die4.jpg', 'die5.jpg', 'die6.jpg']
resized_opened_img = [Image.open(x).resize((400,400),Image.ANTIALIAS) for x in dice]
DiceImage = ImageTk.PhotoImage(choice(resized_opened_img))
在这里它将图像大小调整为 400x400 正方形图像并将这些对象附加到列表中,稍后您使用 choice
从中随机选择一个。 Read more about resize
here
你也可以删除 ImageLabel.image = DiceImage
只要它在函数之外。
我想知道是否有一种方法可以调整已加载到 Tkinter 标签小部件中的图像的大小。我一直在尝试使用 Tkinter 制作一个骰子模拟器,它将显示显示随机数的骰子图像。问题是这些图像的大小不相似。这是程序的开始部分:
import tkinter as tk
from PIL import Image, ImageTk
from random import choice
root = tk.Tk()
root.title('Dice Simulator')
root.geometry('400x400')
root.resizable(0, 0)
dice = ['die1.jpg', 'die2.jpg', 'die3.jpg', 'die4.jpg', 'die5.jpg', 'die6.jpg']
DiceImage = ImageTk.PhotoImage(Image.open(choice(dice)))
ImageLabel = tk.Label(root, image=DiceImage)
ImageLabel.image = DiceImage
ImageLabel.pack(expand=True)
root.mainloop()
我们可以将图片调整为 400x400 并显示所有图片吗?
是的,open
有一个 resize(x,y)
方法可以将图像调整为给定的宽度 (x) 和高度 (y)。
dice = ['die1.jpg', 'die2.jpg', 'die3.jpg', 'die4.jpg', 'die5.jpg', 'die6.jpg']
resized_opened_img = [Image.open(x).resize((400,400),Image.ANTIALIAS) for x in dice]
DiceImage = ImageTk.PhotoImage(choice(resized_opened_img))
在这里它将图像大小调整为 400x400 正方形图像并将这些对象附加到列表中,稍后您使用 choice
从中随机选择一个。 Read more about resize
here
你也可以删除 ImageLabel.image = DiceImage
只要它在函数之外。