欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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对象可能有所不同需要,需要自行稍微改动。不太明白的博友可留言或私信

相关标签: Halcon MFC