要想搞明白这个问题,首先我们要了解句柄的传递关系.
halcon生成图像,会产生一个图像句柄,只要把该句柄传递给我们需要显示的组件就可以了.
简单说,就是一个句柄的传递关系.
下面这个例子简单说明句柄传递关系:
我们获取一个图像控件的句柄,把图像句柄传递给halcon的图像窗口句柄,设置窗口的属性,
在通过set_part函数,set_part modifies the image part that is displayed in the window.
CRect rcClient1;
GetDlgItem(IDC_PICTURE)->GetWindowRect(&rcClient1);
Hlong hWndTopID=(Hlong)GetDlgItem(IDC_PICTURE)->m_hWnd;
open_window(0,0,rcClient1.Width(),rcClient1.Height(),hWndTopID,“visible”,“”,&hWindowID);
set_window_attr(“border_width”,0);
set_part(hWindowID,0,0,rcClient1.Height()-1,rcClient1.Width()-1);
这样我们的halcon图像就可以正常显示到windows窗口上了,是不是非常简单.
做任何事情都是从简单到复杂,每一个简单的累计,最后堆叠成复杂的模型.坚持就是胜利.