在标签tkinter上显示视频大小



下面的代码在标签上显示视频。但是,问题是,它是以非常缩放(大(的方式显示的。我想调整它的大小以在标签上正确显示。当我使用选项image=image.resize((时,我会得到一个错误ValueError:无法调整此数组的大小:它没有自己的数据


import tkinter as tk, threading
import imageio
from PIL import Image, ImageTk
video_name = "e.mp4" 
video = imageio.get_reader(video_name)
#video = video.resize(20,20)
def stream(label):
for image in video.iter_data():
frame_image = ImageTk.PhotoImage(Image.fromarray(image))
label.config(image=frame_image)
label.image = frame_image

root = tk.Tk()
my_label = tk.Label(root, width=500,height=500)
my_label.place(x=0,y=0)
thread = threading.Thread(target=stream, args=(my_label,))
thread.daemon = 1
thread.start()
root.mainloop()

您可以在Image.fromarray(image):的返回图像上调用resize()

frame_image = ImageTk.PhotoImage(Image.fromarray(image).resize((100,100)))

最新更新