Halcon窗口和MFC中的picture控件相关联显示图片
程序员文章站
2022-03-31 22:38:50
...
Halcon窗口和MFC中的picture控件相关联显示图片
1、在xxxxxDlg.h头文件中定义三个成员变量
public:
Hobject m_Image; //图像
HTuple m_hWindowHandle; //显示图形窗口句柄
Hobject m_objDisp; //用于显示图形的对象
2、在xxxxxDlg的初始化函数OnInitDialog()后面添加如下
//picture控件初始化*****************************************************
CRect tmpRect;
//获取picture控件的矩形区域,IDC_VIEW1是picture控件的ID号
GetDlgItem(IDC_VIEW1)->GetClientRect(&tmpRect);
//把picture控件和halcon关联,返回显示图形的窗口句柄
//获取的picture控件的窗口句柄后,要强制转化为Hlong型数据
OpenWindow(0, 0, tmpRect.Width(), tmpRect.Height(), (Hlong)(GetDlgItem(IDC_VIEW1)->GetSafeHwnd()), "visible", "", &m_hWindowHandle);
SetDraw(m_hWindowHandle, "margin");
SetColored(m_hWindowHandle, 12);
SetLineWidth(m_hWindowHandle, 2);
//设置halcon内部处理的图像的宽度和高度
SetSystem("tsp_width", 1500);
SetSystem("tsp_height", 1500);
//picture控件初始化结束*************************************************
3、button控件打开图片的代码
HTuple Width, Height;
//读取图像,把图像存储在m_Image中
ReadImage(&m_Image, "1.jpg");
//获取图像大小
GetImageSize(m_Image, &Width, &Height);
//显示全图
SetPart(m_hWindowHandle, 0, 0, Height-1, Width-1);
//vc中要显示任何图形,一定要调用disp_obj函数来实现
DispObj(m_Image, m_hWindowHandle);
注:halcon对象可能有所不同需要,需要自行稍微改动。不太明白的博友可留言或私信