111,124
社区成员
发帖
与我相关
我的任务
分享如题,我把halcon的计算等函数放在了第一个halconwindow中,但是由于计算需要三个窗体,一个显示运算的原图片,一个显示运算的模型,一个显示结果。如halcon中二维物体识别的inspect_gasket_local_deformable示例程序。

如图2,原图以及结果图以及模板图叠加在了一起,而我的想法是分别在123三个位置显示出不同的模板。现在计算的函数等在2号(用户控件)halconwindow窗口中,而遇到如下问题

如图 我用hwin作为窗体的句柄

但是我不知道用什么方式能把其他两个窗口的句柄引入到这个函数中,使其图片能在另外的不同的窗口中显示。
我直接参数的方式用halconwindow.hwin引过来,未报错可无法显示。由于我c#没系统学习,只是c的基础,所以我不知道应该如何处理,希望有明白的大神给详细处理一下。小弟在此谢谢各位
// 定义图像变量
HObject image;
// 从窗口1传递图像到窗口2的代码:
// 获取图像
window1.GetImage(out image);
// 将图像传递到窗口2
window2.DispImage(image);
```
可以使用全局变量存储图像并在两个用户控件中访问它。也可以使用事件或委托将图像从一个用户控件传递到另一个用户控件。
C的人可能希望的是直接操作句柄和dc
不过做为C#的人,我们喜欢纯粹一点,计算是计算,显示是显示
所以你的那个计算函数,我们只会用来计算,然后用事件通知主UI计算完毕了(你可以看作回调把),然后在主UI里你在去操作--起码在主UI的代码里,你是肯定知道这个3个框都在哪里的