![](/img/trans.png)
[英]How can I resize an image without using .resize() in python PIL
[英]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.