11.5 可视化

应用程序可以使用 HSmartWindowControl 的实例来显示结果。不过,这仅适用于 .NET Framework 和 MVTec.HalconDotNet-Windows .NET Core 包。如何配置该控件,请参阅 "为可视化添加和定制 HSmartWindowControl" 一节 。不过,实际的显示操作并不使用该控件,而是使用其中封装的 HALCON 图形窗口(类 HWindow)。您可以通过 HSmartWindowControlHalconWindow 属性访问图形窗口:

private HWindow                       window;

private void Form1_Load(object sender, System.EventArgs e)
{
  window = windowControl.HalconWindow;
}

在上面的代码中,HWindow 实例的变量是全局声明的,并在表单的 Load 事件中初始化。

您可以使用参考手册 图形参数 一章中的算子配置显示参数,如画笔颜色或线条宽度:

window.SetDraw("margin");
window.SetLineWidth(3);

图像和其他图标对象通过算子 DispObj 显示,该算子可以通过要显示的对象和作为参数的窗口调用,反之亦然:

img.DispObj(window);

更多显示算子,如显示线或圆,请参阅参考手册 图形输出 一章。

除了使用 HSmartWindowControl 之外,您还可以使用算子 OpenWindow 直接打开 HALCON 图形窗口:

HWindow ZoomWindow = new HWindow(0, 0, width, height, 0, "visible", "");

在上面的代码中,窗口是在显示屏上 "自由浮动" 打开的。您也可以通过在参数 fatherWindow 中传递窗口句柄,在其他图形用户界面元素中打开窗口。

在图形窗口中显示任何内容之前,应使用算子 SetPart 设置要显示的图像部分。在下面的示例代码中,打开的窗口用于显示图像的缩放部分:

ZoomWindow.SetPart(row1, col1, row1+height-1, col1+width-1);

有关可视化的更多信息,请参见 解决方案向导 I 。请注意,在本手册中使用的是 HDevelop 版本的显示算子,即前缀为 dev_,例如用 dev_open_window 代替 OpenWindow