mss python电脑屏幕截屏案例

mss(Multiple Screen Shots)是一个用于屏幕截图的高性能库。它比pyautogui更快,因为它直接与底层API交互。

MSS (Multiple Screenshots Simple) 是一个用于截屏的 Python 库,它可以实现全屏或部分屏幕的截图。以下是使用 MSS 实现截屏的代码示例:

首先,安装 MSS 库:

pip install mss

然后,您可以使用以下代码实现全屏或部分屏幕截图:




from mss import mss
from PIL import Image
import numpy as np

def take_screenshot(file_name, region=None):
    with mss() as sct:
        if region is None:
            # 全屏截图
            screenshot = sct.shot(output=file_name)
        else:
            # 部分屏幕截图
            monitor = {"top": region[1], "left": region[0], 
                       "width": region[2], "height": region[3]}
            screenshot = sct.grab(monitor)
            
            # 将截图保存为文件
            img = Image.fromarray(np.array(screenshot))
            img.save(file_name)
    
    print(f"截图已保存为 {file_name}")

# 全屏截图
take_screenshot("full_screen.png")

# 部分屏幕截图 (左上角坐标 (100, 100),宽度 500,高度 300)
take_screenshot("partial_screen.png", (100, 100, 500, 300))

这段代码定义了一个 take_screenshot 函数,它可以进行全屏或部分屏幕截图:

如果不提供 region 参数,函数将进行全屏截图。
如果提供 region 参数,函数将截取指定区域的图像。region 参数是一个元组,格式为 (left, top, width, height),分别表示截图区域的左上角 x 坐标、左上角 y 坐标、宽度和高度。

(左上角坐标 (100, 100),宽度 500,高度 300)
take_screenshot(“partial_screen.png”, (100, 100, 500, 300))

截屏第二个屏幕

import mss
import mss.tools

with mss.mss() as sct:
    monitor = sct.monitors[1]
    screenshot = sct.shot(mon=monitor, output="screenshot.png")
    print(f"屏幕截图已保存为 {screenshot}")

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

loong_XL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值