在python中有tkinter库可以做简单的界面,必要时需要保存当前窗口的显示信息,故需要截屏tkinter窗口的功能。
老规矩上代码,相比较网上提供的需要win32gui库的代码,我是没安装成功,经过研究,发现脚本中并未使用该库,直接抹除。
测试环境python3.7版本,pygetwindow和PIL库的安装方法可自行百度
from tkinter import *
import pygetwindow as gw # 必要的库,用于获取窗口的位置
from PIL import ImageGrab # 必要的库,用于图片保存的
def ss():
win = gw.getWindowsWithTitle('DaysLeft')[0] # 获取叫"DaysLeft"的窗口,和title对应
winleft = win.left+9
wintop = win.top+38
winright = win.right-9
winbottom = win.bottom-9 # 获取tkinter窗口的位置
final_rect = (winleft,wintop,winright,winbottom)
img = ImageGrab.grab(final_rect) # 获取窗口所在位置的方位的像素点信息
img.save('Required Image.png') # 保存img像素到文件中
#making the tkinter window
root = Tk()
root.title('DaysLeft') # 当前窗口的名字
root.after(3000,ss) # 过了3000ms 调用ss函数
root.mainloop()
启动脚本正常后,出现一个窗口,经过3000ms后保存文件为“Required Image.png”,图片中保存的是一个空荡荡的图片,原因为,抹除标头信息,只保留主体界面。