如何使用Python(Tkinter)对窗口进行截图?
Python拥有丰富的模块和函数库,使我们能够构建和开发功能丰富的应用。Tkinter是一种著名的Python库,用于创建基于GUI的应用程序。如果我们想开发一个可以对窗口截图的应用程序,那么我们可以使用Tkinter构建应用程序的GUI。以下应用程序的阶段将有助于了解我们的应用程序的工作方式,
- 所需的库 - Pillow(PIL)用于图像处理,Python中的时间模块用于随机文件名和epochs处理。
-
在窗口中创建一个Label小部件并添加一个按钮以进行截图。
-
定义一个函数, screenshot() ,它将对窗口进行截图并将文件保存在本地目录中。
-
为了使Tkinter窗口不会被截图以及在图像中,我们可以使用 withdraw() 函数来撤回图像。
示例
# 导入所需的库
from tkinter import *
import time
from PIL import ImageTk, Image
import pyautogui as pg
# 创建一个tkinter框架或窗口实例
win = Tk()
# 设置窗口的大小
win.geometry("700x350")
# 定义一个函数来截图
def screenshot():
random = int(time.time())
filename = "C:/Users/Sairam/Documents/" + str(random) + ".jpg"
ss = pg.screenshot(filename)
ss.show()
win.deiconify()
def hide_window():
# 隐藏tkinter窗口时进行截图
win.withdraw()
win.after(1000, screenshot)
# 添加一个 Label 组件
Label(win, text="单击按钮以进行截图", font=('Times New Roman', 18, 'bold')).pack(pady=10)
# 创建一个 Button 以进行截图
button = Button(win, text="截图", font=('Aerial 11 bold'), background="#aa7bb1", foreground="white", command=hide_window)
button.pack(pady=20)
win.mainloop()
输出
运行上述代码将显示包含一个按钮和一个Label文本的窗口。
当我们单击按钮时,它将对窗口进行截图并将其保存在本地目录中。