在MFC中用halcon读图像,显示在主窗口和picture control中
2016-05-28 18:00
726 查看
1.建立对话框工程(字符集:多字节字符集)
2.配置属性:
(1)配置属性-》c++-》常规-》附加库目录,加入:
D:\Program Files\MVTec\HALCON-12.0\include\halconcpp;
D:\Program Files\MVTec\HALCON-12.0\include;
(2)配置属性-》链接器-》常规-》附加库目录,加入:
D:\Program Files\MVTec\HALCON-12.0\lib\x64-win64;
(3)配置属性-》链接器-》输入-》附加依赖项,加入:
halconcpp.lib
3.Halcon调用,需在Dlg.h或调用文件中加入
4.
(1)在主窗口中显示
在对话框中添加按钮,并添加响应函数(Dlg.cpp),函数如下:
char* pcsun = “图片文件(.bmp .png .jpg)|.bmp;.png;*jpg|All Files (.)|.*||”;
CFileDialog OpenDialog(TRUE, NULL, 0, OFN_OVERWRITEPROMPT, pcsun, NULL);
if (OpenDialog.DoModal() == IDCANCEL) return;
//返回带文件名的路径,并传递给编辑控件变量
CString str = OpenDialog.GetPathName();
char* ch = (char*)LPCTSTR(str);
HObject m_hoImage;
ReadImage(&m_hoImage, ch);
HTuple hv_WindowHandle;
HTuple hv_Width, hv_Height;
GetImageSize(m_hoImage, &hv_Height, &hv_Width);
Hlong MainWndID = (Hlong)m_hWnd;
OpenWindow(0, 0, hv_Height, hv_Width , MainWndID, “”, “”, &hv_WindowHandle);
SetPart(m_htWindow, 0, 0, width, height);//
DispObj(m_hoImage, m_htWindow);
(2)picture control里面显示,也是在读图按钮里面添加响应函数代码:
char* pcsun = “图片文件(.bmp .png .jpg)|.bmp;.png;*jpg|All Files (.)|.*||”;
CFileDialog OpenDialog(TRUE, NULL, 0, OFN_OVERWRITEPROMPT, pcsun, NULL);
if (OpenDialog.DoModal() == IDCANCEL) return;
//返回带文件名的路径,并传递给编辑控件变量
CString str = OpenDialog.GetPathName();
char* ch = (char*)LPCTSTR(str);
HObject m_hoImage;
ReadImage(&m_hoImage, ch);
HTuple width, height;
GetImageSize(m_hoImage, &height, &width);
CRect rtWindow;
HWND hImgWnd = GetDlgItem(IDC_BMPWINDOW)->m_hWnd;
GetDlgItem(IDC_BMPWINDOW)->GetClientRect(&rtWindow);
HTuple m_htWindow;
OpenWindow(rtWindow.left, rtWindow.top, rtWindow.Width(), rtWindow.Height(), (Hlong)hImgWnd, “visible”, “”, &m_htWindow);
SetPart(m_htWindow, 0, 0, width, height);//
DispObj(m_hoImage, m_htWindow);
2.配置属性:
(1)配置属性-》c++-》常规-》附加库目录,加入:
D:\Program Files\MVTec\HALCON-12.0\include\halconcpp;
D:\Program Files\MVTec\HALCON-12.0\include;
(2)配置属性-》链接器-》常规-》附加库目录,加入:
D:\Program Files\MVTec\HALCON-12.0\lib\x64-win64;
(3)配置属性-》链接器-》输入-》附加依赖项,加入:
halconcpp.lib
3.Halcon调用,需在Dlg.h或调用文件中加入
include”HalconCpp.h”
using namespace HalconCpp;4.
(1)在主窗口中显示
在对话框中添加按钮,并添加响应函数(Dlg.cpp),函数如下:
char* pcsun = “图片文件(.bmp .png .jpg)|.bmp;.png;*jpg|All Files (.)|.*||”;
CFileDialog OpenDialog(TRUE, NULL, 0, OFN_OVERWRITEPROMPT, pcsun, NULL);
if (OpenDialog.DoModal() == IDCANCEL) return;
//返回带文件名的路径,并传递给编辑控件变量
CString str = OpenDialog.GetPathName();
char* ch = (char*)LPCTSTR(str);
HObject m_hoImage;
ReadImage(&m_hoImage, ch);
HTuple hv_WindowHandle;
HTuple hv_Width, hv_Height;
GetImageSize(m_hoImage, &hv_Height, &hv_Width);
Hlong MainWndID = (Hlong)m_hWnd;
OpenWindow(0, 0, hv_Height, hv_Width , MainWndID, “”, “”, &hv_WindowHandle);
SetPart(m_htWindow, 0, 0, width, height);//
DispObj(m_hoImage, m_htWindow);
(2)picture control里面显示,也是在读图按钮里面添加响应函数代码:
char* pcsun = “图片文件(.bmp .png .jpg)|.bmp;.png;*jpg|All Files (.)|.*||”;
CFileDialog OpenDialog(TRUE, NULL, 0, OFN_OVERWRITEPROMPT, pcsun, NULL);
if (OpenDialog.DoModal() == IDCANCEL) return;
//返回带文件名的路径,并传递给编辑控件变量
CString str = OpenDialog.GetPathName();
char* ch = (char*)LPCTSTR(str);
HObject m_hoImage;
ReadImage(&m_hoImage, ch);
HTuple width, height;
GetImageSize(m_hoImage, &height, &width);
CRect rtWindow;
HWND hImgWnd = GetDlgItem(IDC_BMPWINDOW)->m_hWnd;
GetDlgItem(IDC_BMPWINDOW)->GetClientRect(&rtWindow);
HTuple m_htWindow;
OpenWindow(rtWindow.left, rtWindow.top, rtWindow.Width(), rtWindow.Height(), (Hlong)hImgWnd, “visible”, “”, &m_htWindow);
SetPart(m_htWindow, 0, 0, width, height);//
DispObj(m_hoImage, m_htWindow);
相关文章推荐
- Visual C++中MFC消息的分类
- MFC中Radio Button的用法详解
- MFC对话框中添加状态栏的方法
- MFC创建右键弹出菜单的方法
- MFC中动态创建控件以及事件响应实现方法
- C++ 关于MFC多线程编程的注意事项
- MFC程序对文件的处理方法
- MFC自定义消息的实现方法
- MFC实现在文件尾追加数据的方法
- MFC之ComboBox控件用法实例教程
- MFC绘制不规则窗体的方法
- IE8引发 VS2005/2008 MFC向导出错的解决方案
- MFC实现全屏功能代码实例
- 使用VS2010创建MFC ActiveX工程项目
- C++中MFC Tab Control控件的使用详解
- MFC程序设计常用技巧汇总
- MFC扩展DLL中导出类和对话框的实现方法
- VC中SDK与MFC的区别浅析
- 浅谈MFC 改变控件大小和位置
- VC MFC非模态对话框的实现方法