您的位置:首页 > 其它

在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或调用文件中加入

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);

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mfc 图像显示