八月 03, 2018 | Developers Corner

为 HSmartWindowControlWPF 添加触摸输入

了解如何在 HALCON 的 HSmartWindowControlWPF 中轻松添加触控操作,包括捏合缩放,利用 WPF 内置多点触控事件实现直观的图像控制。

在智能手机和平板电脑盛行的数字时代,通过触摸屏控制设备已成为我们的第二天性。逐渐地,这项革命性的新技术也在工业领域得到采用。经常有人问我们,是否可以通过触控设备控制 HALCON 窗口。在本文中,我们会为您说明如何轻松为 HSmartWindowControlWPF 添加 Pinch-to-Zoom(双指缩放)等触控功能。

HSmartWindowControlWPF 提供了手动执行这些触控手势需要的所有触控事件,例如 TouchDown(触摸按下)、TouchMove(触摸移动)和 TouchUp(触摸抬起)。但是,不同触控点的处理很快就会变得复杂起来。方便的是,WPF 框架已经为控件提供了处理多点触控事件(称为“操作”)的内置功能。

首先,我们必须通过启用 IsManipulationEnabled 选项激活 HSmartWindowControlWPF 的操作。之后,我们就能使用 ManipulationStarted 和 ManipulationDelta 事件。 一旦开始触控输入,就会立即触发 ManipulationStarted 事件。这时,我们必须存储原始操作原点的行坐标和列坐标。这些图像坐标应始终位于操作原点,从而实现图像的自然运动。

smartWindow.HalconWindow.GetPart(out row1, out col1, out row2, out col2);

double x = e.ManipulationOrigin.X;

double y = e.ManipulationOrigin.Y;

widthControl = smartWindow.ActualWidth; heightControl = smartWindow.ActualHeight;

row = (int)(row1 + (y / heightControl) * (row2 - row1));

col = (int)(col1 + (x / widthControl) * (col2 - col1));

在 ManipulationDelta 事件中,WPF 框架已经实现了多点触控输入的结果,例如新的操作原点和缩放比例因子。我们可以使用以下巧妙的数学方法,为 HALCON 窗口内嵌在 HSmartWindowControlWPF 中的部分计算新的限值。

double x = e.ManipulationOrigin.X;

double y = e.ManipulationOrigin.Y;

double scale = e.CumulativeManipulation.Scale.X;

double newHeight = (row2 - row1) / scale; double newWidth = (col2 - col1) / scale;

double newRow1 = row - y/heightControl * newHeight;

double newCol1 = col - x / widthControl * newWidth;

double newRow2 = row + (1 - y / heightControl) * newHeight;

double newCol2 = col + (1 - x / widthControl) * newWidth;

smartWindow.HalconWindow.SetPart(newRow1, newCol1, newRow2, newCol2);

点击此处可以下载一个展示此方法的简单程序。

发布日期: 八月 03, 2018

更多新闻

MVTec MERLIC 26.03 现已上市
借助 MERLIC 26.03,机器视觉应用的开发与运行将变得更加一致且更具可扩展性。该版本引入了统一的 MVTec 版本命名格式(YY.MM),并提供了更简化的、基于软件包的许可模式,同时支持灵活的附加组件。…
了解更多
MERLIC
新版深度学习工具显著提升了 Deep OCR 的性能
凭借 Deep OCR 对齐功能及其他改进,深度学习工具 26.03 提升了 OCR 应用的速度和效率。新模型、优化后的训练以及对 CUDA 12.8 的支持,在降低内存占用量的同时带来了更高的性能。
了解更多
深度学习工具
MVTec Academy 新课程:马赛克拼接——使用 HALCON 进行图像拼接
本基础培训将向您介绍HALCON中的拼接技术。本课程将向您展示如何将多张图像组合成一张大型拼接图像。因此,借助这项技术,您可以生成物体或场景的大幅图像,而这些内容原本无法完全纳入单个摄像头的视野范围内。…
了解更多
Academy
HALCON
使用 HALCON 进行并行编程
本高级培训将向您介绍使用 HALCON 进行并行编程的概念。通过应用并行编程,您可以优化 HALCON 程序的性能,并充分利用多核或多处理器硬件的优势。
了解更多
Academy
HALCON
MVTec 软件管理器 1.6.5:中国地区下载速度全面提升
为提升中国地区用户的软件下载性能,MVTec 现已提供专用的代理缓存服务器。通过 MVTec Software Manager 进行的软件下载将变得更加快速和稳定。
了解更多
MVTec
HDevelopEVO 预览版:最新更新现已推出
更快、更直观且更具交互性的编程体验:所有 HALCON 用户现在均可下载全新的 IDE 预览版。
了解更多
HALCON
MVTec License Server 25.12 新版本发布
借助 MVTec License Server Cloud-Ready 25.12,HALCON 许可证可以借用,从而在网络中断或离线情况下仍可运行。
了解更多
MVTec
MVTec 深度学习工具 25.12 现已发布
2025 年 12 月 04 日,我们发布了 MVTec 深度学习工具的新版本 25.12,从而进一步发展了我们基于人工智能的机器视觉产品组合。
了解更多
深度学习工具
MVTec Academy 全新课程:《图像采集:适用于现代相机技术的接口》
本培训课程将向你介绍 HALCON 中新增的图像采集算子。通过实践练习,你将学习必要的技术术语和概念,并进一步加深理解。
了解更多
Academy
HALCON
HALCON 25.11 现已上市
新版本的 MVTec HALCON 现已可供下载。此次版本再次带来了多项优化与全新功能,其中包括全新的 持续学习(Continual Learning)– 分类 技术,使分类模型的训练与更新过程更加快速、灵活。
了解更多
HALCON
MVTec 线上学院新课程 "通过语言接口进行代码集成"
本高级课程讲解如何在使用 C、C++、C#、Visual Basic .NET 和 Python 编写的软件项目中集成并使用 HALCON 库。
了解更多
Academy
HALCON
MVTec Academy 新课程:使用 GigE Vision 进行图像采集
本高级课程深入讲解如何在 HALCON 中使用 GigE Vision 相机。
了解更多
Academy
HALCON
MVTec MERLIC 5.8 现已上市
MVTec MERLIC 5.8 让视觉应用的开发和运行比以往更加简单,具有改进的错误处理、集中式配方管理以及更快速、更灵活的部署。
了解更多
MERLIC
MVTec Academy 新课程:手眼标定
在本高级课程中,您将学习如何使用 HALCON 进行手眼标定。
了解更多
Academy
HALCON
MVTec License Server 25.08 新版本发布
本次更新使 License Server 更容易作为 Windows 系统服务运行,并提供了更便捷的文档访问。
了解更多
MVTec
新MVTec学院课程“检查条码和2D数据码的打印质量”
在本高级培训课程中,您将学习如何使用HALCON和MERLIC对条码和数据码进行打印质量检测。
了解更多
Academy
HALCON
MERLIC
新MVTec学院课程“缺陷检测”
本基础培训将向您介绍使用MVTec HALCON进行缺陷检测。您将学习不同的方法以及在开发缺陷检测应用程序时需要考虑的因素。随后,您将使用不同方法解决一些具有挑战性的应用案例。
了解更多
Academy
HALCON
MVTec HALCON software box with surfer – new version
HALCON 25.05 现已上市
新版本的 MVTec HALCON 现已可供下载。 HALCON 25.05 引入了形状匹配扩展参数估计的第一次迭代。在此版本中,MVTec 专注于提高 HALCON 的易用性和基于规则的机器视觉。
了解更多
HALCON
MVTec Academy 新课程:“为 MERLIC 开发自定义工具”
本高级培训将向您介绍如何为MERLIC开发自定义工具,以扩展现有的MERLIC工具库。
了解更多
Academy
MERLIC
MVTec 深度学习工具 25.04 现已发布
2025 年 4 月 30 日,我们发布了 MVTec 深度学习工具的新版本 25.04,从而进一步发展了我们基于人工智能的机器视觉产品组合。
了解更多
深度学习工具
MVTec MERLIC 5.7 现已上市
借助新版本 MERLIC 5.7,MVTec 延续了 MERLIC 的既定路线——轻松的流程集成与强大的机器视觉方法相结合。新版本 提高了 MERLIC 运行环境(RTE) 的可用性,并优化了通信接口的操作。
了解更多
MERLIC
全新 MVTec Academy 课程:学习全球上下文异常检测
高级在线课程讲解如何准备数据、训练和应用 MVTec 全球上下文异常检测模型。
了解更多
Academy
HALCON
MERLIC
任务完成:MVTec 圣诞问答活动!
随着我们的圣诞问答活动圆满结束,我们很高兴与大家分享精彩的结果!
了解更多
MVTec
MVTec Software