200KB能做什么?干不了啥吧,mss表示:不不不,这已经足够我给你实现一个完整且全面的截屏功能了。

一、安装
bash
pip install mss
二、基本使用
2.1 语法
截屏的所有操作,只需定义 with mss() as sct ,而后进行操作即可。
python
from mss import mss
with mss() as sct:
# ...
2.2 全屏截屏
只需使用 sct.shot 即可进行全屏截屏。
python
from mss import mss
with mss() as sct:
sct.shot()
2.3 截图并重命名
是的,还是超级简单,直接在 shot 方法中,传入 output 参数即可。
python
sct.shot(output=f'screenshot_.png')
2.4 截取指定区域
选定区域,然后获取区域截图,调用 mss 自带的工具进行文件保持即可
python
import mss.tools
# 定义截屏区域
monitor = {"top": 100, "left": 100, "width": 300, "height": 300}
with mss.mss() as sct:
# 获取指定区域的截图
screenshot = sct.grab(monitor)
# 保存截图
mss.tools.to_png(screenshot.rgb, screenshot.size, output='region_screenshot.png')
三、高级使用
3.1 命令行操作
如果不想撰写代码实现截屏功能,你甚至可以直接用命令行进行截屏。
bash
# 截取当前主屏
mss
# 截取当前主屏并重命名为screenshot.png
mss -o screenshot.png
# 选定截取范围
mss -c 100,100,800,600
命令行截图操作示意如图:

今天就写到这吧,难得周末,偷个懒,打王者去啦,明天补上后续的。