1.新建VC6.0对话框工程;
2.在界面上添加picture控件,更正名称为IDC_VIEW;
3.在.h头文件中DECLARE_MESSAGE_MAP()后面添加以下代码:
public:
Hobject m_Image; //图像
HTuple m_hWindowHandle;//显示图形窗口句柄
Hobject m_objDisp;//显示图形的对象
4. 在.cpp文件中OninitDialog中添加以下代码:
//picture控件初始化==============================================================================
CRect tmpRect; //获取picture控件的矩形区域
GetDlgItem(IDC_VIEW)->GetClientRect(&tmpRect);//把picture控件和halcon关联,返回显示图形的窗口句柄
//picture控件初始化获取的picture控件的窗口句柄以后,要强制转换为Hlong型的数据
open_window(0,0,tmpRect.Width(),tmpRect.Height(),(Hlong)(GetDlgItem(IDC_VIEW)->GetSafeHwnd()),"visible","",&m_hWindowhandle);
set_draw(m_hWindowhandle,"margin");
set_colored(m_hWindowhandle,12);
set_line_width(m_hWindowhandle,2);
//设置halcon内部处理的图像的宽度和高度
set_system("tsp_width",3000);
set_system("tsp_height",3000);
//picture控件初始化结束===============================================================================
5.按F7编译成功,运行ctrl+F5,运行成功!
注意:一定要添加include头文件和lib库到目录中.
添加、打开图像功能:
1.新建一个button控件,更正名字为“读取图像”;
添加控件对应的函数代码:
//图像宽、高
HTuple Width,Height;
//弹出打开图像文件的对话框
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"*.bmp,*.jpg,*.jpeg|*.bmp;*.jpg;*.jpeg||");
//加载文件成功,则显示文件
if (dlg.DoModal()==IDOK)
{
//复位显示图形变量
if (m_objDisp.Id()!=H_EMPTY_REGION)
{
m_objDisp.Reset();
}
//读取图像,把图像存储在m_Image中
read_image(&m_Image,dlg.GetPathName());
//获取图像大小
get_image_size(m_Image,&Width,&Height);
//显示全图
set_part(m_hWindowhandle,0,0,Height-1,Width-1);
//vc中要显示任何图形,一定要调用disp_obj函数来实现
disp_obj(m_Image,m_hWindowhandle);
}