winuia-auto 截图全攻略(ToBitmap、Screenshot 与 CaptureToImage 详解)

在进行 Windows UI 自动化或 RPA 开发时,"截图"是一项非常高频的操作,它不仅用于生成测试报告、保存错误日志,更是实现图像识别(如图色定位、FindImageOnScreen)的核心基础。

在 winuia-auto 库中,截图方式丰富多样。本文将带你全面盘点 winuia-auto 的几大核心截图函数:ToBitmap、Screenshot 和 CaptureToImage,并区分控件级截图 与桌面级截图的正确打开方式。

一、 核心截图函数大盘点

方法 截图范围 返回值 是否支持离屏 典型用途
ToBitmap(x, y, w, h) 控件指定区域 Bitmap 对象 取决于实现 内存处理、找图
ToBitmap() 整个控件 Bitmap 对象 取决于实现 整窗转 Bitmap
CaptureToImage(...) 控件指定区域 直接保存文件 一般不支持 快速保存局部图
Screenshot(path, offscreen=True) 整个控件 直接保存文件 支持 整窗截图(含隐藏)
root.ToBitmap(...) 桌面指定区域 Bitmap 对象 - 屏幕级截图
FindImageOnScreen(...) - 匹配结果 - 截图后做图像识别

二、实际应用

复制代码
import winuia as auto
# 定义截图区域坐标
left, top, width, height = 100, 100, 400, 300


# 控件界面截图
window2 = auto.WindowControl(ClassName='Chrome_WidgetWin_1', RegexName='.*Google Chrome')
# 将控件截图指定区域并转成Bitmap
bitmap = window2.ToBitmap(left, top, width, height)
# 保存截图
window2.CaptureToImage(r'./region.png', left+width, top, width, height)

# 将控件截图保存成文件
window2.Screenshot("./control.png", offscreen=True)
# 将控件截图并转成Bitmap
bitmap = window2.ToBitmap()




# 桌面截图
root = auto.GetRootControl()
bitmap = root.ToBitmap(left, top, width, height)
# 验证截图, 将 Bitmap 转换为 PNG 格式的字节流,并用于屏幕找图验证
match_result1 = auto.FindImageOnScreen(bytes(bitmap.ToBytes('png')), confidence=0.85)
print(f'match_result1: {match_result1}')

# 保存截图
root.CaptureToImage(r'./region.png', left+width, top, width, height)

# 将桌面截图保存成文件
root.Screenshot("./control.png", offscreen=True)
相关推荐
武天旭18 分钟前
AI安全--AI大模型的毒性偏见与安全对齐实践
人工智能·python·深度学习
视觉小萌新1 小时前
AI Class 3 · Chapter 2-3:函数、异常、文件读写+JSON / JSONL 读写(小白版)
人工智能·python·json
小小张说故事2 小时前
Python 的 obj.x 到底按什么顺序找?拆开数据描述符、实例字典和 __getattr__ 那条优先级链
python
the3clipse2 小时前
MPC-HC 下载安装与最佳配置教程:免费开源、轻量无广告、支持 4K 硬解的 Windows 播放器
windows·播放器·安装教程·硬件加速·mpc-hc·字幕设置·lav filters
独隅3 小时前
WebStorm Windows 版 React / Next.js 实战替换指南
javascript·windows·webstorm
陈工大模型3 小时前
2026年11月最新免费解压软件横评:7-Zip 、 Win解压缩名列前茅
windows·软件工程·7-zip·压缩软件
用户11481867894843 小时前
水印的实现方式逻辑
前端·python
贾公子3 小时前
从单条内容到账号维度——AIGC 风险评分的工程实现
后端·python
木头左5 小时前
【Python】不点浏览器发博客:逆向 CSDN 创作中心接口做 md-publish 技能
python·自动化·api
lisw055 小时前
智能化机器人系统的模块化设计自动化!
机器学习·机器人·自动化