繁体   English   中英

如何在不使用 PIL.Image 的情况下调整 Tkinter 图像的大小?

[英]How do I resize a Tkinter Image without using PIL.Image?

我的程序在 PIL Image/ImageTk 和 Tkinter 之间存在冲突。我想调整 gif 的大小,但是 ImageTk.PhotoImage 没有我需要的格式参数。

这是我所拥有的示例:

import tkinter as tk
from PIL import Image, ImageTk

root = tk.Tk()
canvas = tk.Canvas(root, width = 500, height = 500)
image = Image.open("images.gif").resize((64, 64))
imagetk = ImageTk.PhotoImage(image)
canvas.create_image(250, 250, image=imagetk)
canvas.pack()
root.mainloop()

这是我需要的:

import tkinter as tk
from PIL import Image, ImageTk

root = tk.Tk()
canvas = tk.Canvas(root, width = 500, height = 500)
image = Image.open("images.gif").resize((64, 64))
imagetk = ImageTk.PhotoImage(file=image, format=f"gif -index {anyNum}")
canvas.create_image(250, 250, image=imagetk)
canvas.pack()
root.mainloop()

ImageTk.PhotoImage 没有格式参数,Tkinter 没有调整大小 function(至少我能找到)

谢谢!

没有“文件”参数,请改用“图像”:

imagetk = ImageTk.PhotoImage(image=image, format=f"gif -index {anyNum}")

您可以使用PIL.Image.seek(n)在 GIF 图像中获取所需的帧:

...
image = Image.open("images.gif")
image.seek(1) # seek to second frame in GIF
resized = image.resize((64, 64))
imagetk = ImageTk.PhotoImage(resized)
canvas.create_image(250, 250, image=imagetk)
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM