Python截图的五个方法实例总结

小主我总结了一下,看官仅供参考。具体运行时间,要看电脑,程序复杂程度,截图大小,原本为四个方法,后面又发现了一种。补上
运行熟练度等因素。

方法一:

速度快,截取单张时间大概零点几秒。但是程序很长。

如图:

红框内的是获得当前监视器设备的全屏尺寸。也可以可以不要,可以直接给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")

使用此脚本,你可以直接截屏或截取特定区域的屏幕截图。

可以加载在一些抢购的脚本中,把秒杀产品抢到手后,进行截图,然后继续抢下一个

总结

到此这篇关于Python截图的五个方法总结的文章就介绍到这了,更多相关Python截图方法内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

原文地址:https://blog.csdn.net/xiaolegeyao/article/details/115051123