200kb能作甚?mss表示我给你整个截图程序

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

命令行截图操作示意如图:

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

相关推荐
喵了几个咪1 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
Flynt1 小时前
我把微信运动的排行榜和定点推送复刻了一遍:100万次步数更新只要4秒,坑在别处
redis·后端·性能优化
在世修行2 小时前
智学文枢:页面切换与跨页数据预填
python·桌面应用·signal·1024程序员节·pyside·跨页跳转·状态预填
2601_962885723 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
打工仔折腾 AI3 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
_孤傲_3 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
信誓旦旦的程序猿4 小时前
【Python量化实战宝典 #21】北向资金跟随手册:聪明钱择时信号(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
严谨的麻辣烫4 小时前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障
IT_陈寒5 小时前
Java静态变量初始化坑得我头皮发麻
前端·人工智能·后端
步行cgn5 小时前
Thymeleaf 编辑表单详解:从字段回填到模拟 PUT 请求
后端