Zoom(缩放)
双指捏合放大或缩小屏幕。
用途
发送锚定在屏幕中心的双指捏合,放大(双指张开)或缩小(双指并拢)。用在地图、图片或任何捏合缩放视图上。
缩放量分辨率无关,所以同一设置在任何屏幕尺寸上表现一致。
何时用
- 缩小地图以便扫描前看更多。
- 放大让小目标够大以稳定检测或读取。
- 在流程开头把视图带到已知缩放级别。
何时不用
- 缩放某个特定角落。 捏合总锚定中心。先用 Swipe 平移,再缩放。
- 在不支持捏合缩放的视图上——手势照发并报告 Success。
前提
一个接受多点触控的设备。不需要上游节点。
如何运行
- Mode 选方向——Zoom in 张开手指,Zoom out 并拢手指。
- 从 Zoom factor(一个跨度比率)计算两指在屏幕中心周围的起止间距,200% 表示远间距在任何分辨率上都是近间距的两倍。
- 在固定的短时长内派发居中的双指手势,然后路由 Success。
旧流程可能携带按像素的 strength;该值仅用于那些旧流程。
设置
| 设置 | 类型 | 范围 | 默认 | 作用 |
|---|---|---|---|---|
| Mode | 选择 | zoomIn、zoomOut | — | 必填。 手指张开,或并拢 |
| Zoom factor | number | 110–500 % | — | 缩放多少。分辨率无关的跨度比率(200 = 2×) |
| Strength (px) | integer | 1–2000 | — | 旧。 每指绝对移动;仅从旧流程接受 |
| Wait after | integer | 0–60000 ms | — | 手势后停顿 |
必须恰有 Zoom factor 或旧的 Strength 之一。
为何下限 110%
系数是放大比率,不是有符号的量。低于 110% 的值被拒绝,因为"放大 90%"无意义——要缩小,把 Mode 设为 Zoom out 并保持系数在 110 以上。
手势总锚定中心
你无法把捏合锚在别处。要缩放某个区域,先把它带到中央——Swipe 的 Bring a target to the centre 模式精确做这件事。
端口
| 端口 | 走它的时机 | 必接 |
|---|---|---|
| Success | 捏合已派发 | 否——此端口可选 |
| Failure | 手势发不出去 | 否 |
| Timeout | 输入命令未按时完成 | 否 |
| Cancelled | 手势中途运行被停 | 否——永不被走 |
| Fatal | 断连,或 mode/系数无效 | 否——永不被走 |
Zoom 不同寻常:没有必接端口。Success 空着的 Zoom 只是结束该路径。
基础示例
把地图放大到两倍跨度:
- Mode:Zoom in
- Zoom factor:
200%
实际示例——规范化视图
地图自动化在每次运行都从同一缩放级别起步时可靠得多。一个"重置视图"的短流程:
缩到最小再放大一个已知量,无论视图从哪起步都到达可复现的缩放级别——这正是让后续步骤模板匹配的东西。
高级示例——精确框住目标
先居中再放大,让屏幕上的小字够大以供 OCR 准确读取——常是 60% 与 99% 读取率之别。
最佳实践
- 先平移,后缩放。 捏合锚定中心,框住是 Swipe 的活。
- 缩放后总要稳定。 地图视图有动画;紧接的检测读到动画。
- 在流程开头规范化缩放,而非假设上次运行把它留在合理处。
- 对小字 OCR 前先放大。 OCR 准确率强烈依赖字形大小。
- 即便可选也接上 Success——空端口悄悄结束路径。
性能笔记
- 手势时长由运行时固定且短。真正成本是你之后加的稳定时间。
- 若你也缩窄搜索区域,放大让模板匹配更便宜;否则更贵——全屏搜索里更大的目标仍扫整帧。
- 反复 zoom out/in 循环来"重置"耗两个手势加两次稳定。在流程开头做一次,别在循环里。
内存笔记
- Zoom 不抓帧、不缓存。
- 改变缩放使你的视觉假设失效:在某缩放级别截的模板在另一级别可能不匹配。在流程功能开关里启用多尺度检测,或在流程实际使用的缩放级别截模板。
常见错误
| 错误 | 后果 | 修复 |
|---|---|---|
| 指望缩放某角 落 | 捏合锚定中心 | 先把目标滑到中央 |
| 系数设在 110 以下 | 被拒绝 | 用 Zoom out 换反方向 |
| 紧接读屏 | 读到动画中途 | 加 Wait |
| 缩放后模板不匹配 | 它们在不同尺度截取 | 重截,或启用多尺度 |
| 意外把 Success 空着 | 路径悄悄结束 | 接上它 |
故障排查
屏幕无反应。 视图可能不支持捏合缩放。节点仍报 Success——它派发了手势;它不知道应用是否响应。
加了 Zoom 后检测崩了。
模板对尺度敏感。要么在新缩放下重截,要么在流程设置里开 multiScaleImageDetectionEnabled。
缩放过头。 降低系数并重复,而非一次大跳。
节点走 Fatal。 缺 Mode,或系数在 110–500 之外。
FAQ
200% 是两倍缩放吗? 是两倍手指跨度比率,目标应用把它解释成它的缩放手势。视觉结果因应用而异。
能缩放到精确级别吗? 不。Zoom 是相对手势。用缩到最小再放大已知量来规范化。
Zoom 有 duration 设置吗? 没有——手势时间由运行时固定。
系数能取自变量吗?
能,作整串 {{变量}} 引用。
相关节点
- Swipe——先把目标平移到中央
- Wait——手势后稳定
- Find Image——定位要框住的东西
- Read Text——放大的常见理由
相关页面
- 流程解剖——模板尺度与质量