如何在Python Tkinter窗口中显示图像/屏幕截图而无需保存?

如何在Python Tkinter窗口中显示图像/屏幕截图而无需保存?

Tkinter是一个标准的Python库,用于创建和开发基于GUI的应用程序。要显示图像,我们使用PIL或Pillow库。

假设我们想创建一个应用程序,它将窗口的屏幕截图并在另一个窗口中显示捕获的图像。为了实现这个目的,我们可以按照以下步骤进行 –

  • 导入所需的库。

  • 创建一个通用按钮以截取屏幕截图。

  • 定义一个函数以截取屏幕截图。

  • 在给定的函数中,通过 coordsregion 定义我们想要截取屏幕截图的区域。

  • 创建一个Toplevel窗口,并在其中定义一个带有标签图像的控件。

  • 将小部件打包并显示输出图像。

示例

#导入所需的库
from tkinter import *
import pyautogui
from PIL import ImageTk, Image

#创建 tknter框架或窗口的实例
win = Tk()

#设置窗口的大小
win.geometry("700x350")


#定义一个函数以截取屏幕截图
def take_screenshot():
   x = 500
   y = 500
   #在给定的corrds中截取屏幕截图
   im1 = pyautogui.screenshot(region=(x, y, 700, 300))

   #创建一个Toplevel窗口
   top = Toplevel(win)
   im1 = ImageTk.PhotoImage(im1)

   #将图像添加到标签小部件中
   image1 = Label(top, image=im1)
   image1.image = im1
   image1.place(x=0, y=0)

Button(win, text='Take ScreenShot', command=take_screenshot).pack(padx=10, pady=10)

win.mainloop()
Python

输出

当我们运行代码时,它将显示一个带有截屏按钮的窗口。

如何在Python Tkinter窗口中显示图像/屏幕截图而无需保存?

现在,单击“Take ScreenShot”按钮,它将捕获从坐标(x = 500,y = 500)开始的大小为700像素宽和300像素高的屏幕。

如何在Python Tkinter窗口中显示图像/屏幕截图而无需保存?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程