亲宝软件园·资讯

展开

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

快ྂ乐ྂ至ྂ上ྂ 人气:0

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

方法一:

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

如图:

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

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

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

总结

加载全部内容

相关教程
猜你喜欢
用户评论