用PYTHON实现截屏的代码
原创
©著作权归作者所有:来自51CTO博客作者min27的原创作品,请联系作者获取转载授权,否则将追究法律责任
代码如下:
from desktopmagic.screengrab_win32 \
import (getDisplayRects, getRectAsImage)
from PIL import ImageGrab
import time
import datetime
startTime = time.time_ns()
# getDisplayRects 函数会拿到当前所有显示器的rect [left_x, left_y, right_x, right_y]
# screens 是一个列表, 每一个元素都代表着一个显示器的 rect
screens = getDisplayRects()
print("当前屏幕个数是:",len(screens))
j=input("Please input the screen number 0 or 1:")
i = int(j)
if i>len(screens)-1:
print("输入错误!")
else:
# imageGrab.grab 方法需要指定 all_screens 参数, 才能在 screens.rect 为负数的情况下正确截屏
image = ImageGrab.grab(bbox=screens[i], all_screens=True)
#Get current time and save as file name
curr_time = datetime.datetime.now()
time_str = datetime.datetime.strftime(curr_time,'%Y-%m-%d-%H-%M-%S')+".jpg"
image.save("screen_"+j+"_"+time_str, format="JPEG")
print("screen_"+j+"_"+time_str, "has saved",)
说明:
1、需要输入截屏的序号,第一个屏是0,第二个屏是1;所以适用于多屏幕的截屏需求;
2、以当前的时间命名,并保存到当前路径;