WinShot
轻量级 Windows 截图库
基于 Windows API 的纯 Python 截图解决方案,支持多种截图方式、后台截图、DPI 感知,无需任何第三方依赖。
纯 Python 实现
零依赖
支持后台截图
DPI 感知
查看源码
功能特性
多种截图方式
支持 BitBlt、StretchBlt、PrintWindow 三种截图方式,满足不同场景需求。
后台截图
支持对被遮挡或最小化的窗口进行截图,无需将窗口置于前台。
区域截图
支持指定坐标和尺寸进行区域截图,灵活获取所需内容。
图像缩放
StretchBlt 方式支持截图时直接缩放到指定尺寸,高效便捷。
DPI 感知
内置 DPI 感知设置,完美适配高分辨率显示器。
BMP 保存
支持将截图数据直接保存为 BMP 格式图片文件。
快速开始
-
下载文件
将截图.py文件放入你的项目目录中。 -
导入模块
Python
-
设置 DPI 感知(推荐)
Python
-
开始截图
Python
API 文档
核心截图函数
参数
- x1, y1 int -
- cx, cy int -
- hwnd HWND -
返回值
返回二进制格式的 BGRA 图像数据(bytearray),包含 width 和 height 属性。
参数
- wDest, hDest int -
- xSrc, ySrc int -
- wSrc, hSrc int -
- hwnd HWND -
返回值
返回二进制格式的 BGRA 图像数据(bytearray),包含 width 和 height 属性。
参数
- w, h int -
- hwnd HWND -
返回值
返回二进制格式的 BGRA 图像数据(bytearray),包含 width 和 height 属性。
便捷函数
返回值
返回二进制格式的 BGRA 图像数据。
参数
- hwnd HWND -
返回值
返回二进制格式的 BGRA 图像数据。
辅助函数
参数
- hwnd HWND -
返回值
返回元组 (left, top, right, bottom),表示窗口的坐标位置。
参数
- PROCESS_DPI_AWARENESS int -
返回值
返回 0 (S_OK) 表示成功,负数表示失败。
参数
- bitmap_data bytes -
- filepath str -
- width, height int -