Python截图的五个方法实例总结
作者:快?乐?至?上? 时间:2022-07-13 10:40:04
小主我总结了一下,看官仅供参考。具体运行时间,要看电脑,程序复杂程度,截图大小,原本为四个方法,后面又发现了一种。补上
运行熟练度等因素。
方法一:
速度快,截取单张时间大概零点几秒。但是程序很长。
如图:
红框内的是获得当前监视器设备的全屏尺寸。也可以可以不要,可以直接给w,h赋值,指定宽度和高度。红框上面的是获得设备准备条件。
第一个红线,是左边距和上边距填充背景色黑色,默认(0,0)就好,也可以自己试试。这里不加图了。
第二个红线就是指定的图片宽和高(>0)。第三个红线,所截图的左上角的坐标,若小于0,越界部分则填充黑色。
方法二:
速度一般,截取单张大概1秒左右,程序简单易懂。grab()
如果不加参数,是全屏。四个参数分别是
x1,y1,x2,y2。即左上角和右下角坐标。
方法三:
大概也是1到2秒。不过这个库,要另外安装。
screenshot()如果不要 region 参数,是全屏。四个参数分别是
x,y,w,h。即左上角坐标和图片宽度 高度。
方法四:
可以用爬虫库 selenium 截图。
主程序该咋写咋写,截图用到:
browser.save_screenshot(filename),尺寸参数看官可以自己试试。或许后期我会补上
若定义函数,注意形参,传参写法。
方法五:
使用aotupy截图,如图:
capture_screen()函数,括号内如果为空,则是全凭截图。若要指定范围,就要这样写,因为它要求参数时一个长度为2的数组,函数要带括号,数组要带括号,长度为2,两组数,所以,注意括号匹配。第一个,是起点位置,第二个括号,是从起点开始的长读和宽度,所以 要计算。
补充:Python 指定区域截图
先上代码
from pyautogui import screenshot
import time
from PIL import ImageGrab
# Grab Screenshot of Screen
def grab_screenshot():
shot = screenshot()
shot.save('my_screenshot.png')
# Grab Screenshot of Specific Area
def grab_screenshot_area():
area = (0, 0, 500, 500) # 这里是设置截图范围的区域
shot = ImageGrab.grab(area)
shot.save('my_screenshot_area.png')
# Grab Screenshot with Delay
def grab_screenshot_delay():
time.sleep(5)
shot = screenshot()
shot.save('my_screenshot_delay.png')
使用此脚本,你可以直接截屏或截取特定区域的屏幕截图。
可以加载在一些抢购的脚本中,把秒杀产品抢到手后,进行截图,然后继续抢下一个
来源:https://blog.csdn.net/xiaolegeyao/article/details/115051123