MFC调用halcon生成的cpp内容

打开VS,文件——新建——项目——Visual C++——MFC——MFC应用程序,注意下图,其他默认。窗体1个Button、1个Picture Control

【VS配置Halcon】

1、若halcon为64位,则其相应的文件也是64位的,所以选择x64。32位的同理。

2、项目——属性,C/C++——常规,附加包含目录里添加下图两个目录

链接器——常规,附加库目录中添加x64-win64,32位的就添加32位的。

链接器——输入,附加依赖项中添加HalconCpp.lib

【MFC文件中添加代码】从Halcon生成的cpp文件中,复制即可(void action()中的代码)

注意,代码添加在Dlg.cpp中

双击Button按钮即可跳转Dlg.cpp文件的单击事件函数处,粘贴void action()中的代码

同时,在最上方添加如下代码:

#  include "HalconCpp.h"
using namespace HalconCpp;

运行即可。

为了使图像显示在Picture Control控件中,添加一些代码(红色部分)

void CMFCApplication3Dlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    // Local iconic variables
    HObject  ho_Image1;

    // Local control variables
    HTuple  hv_Width, hv_Height, hv_WindowHandle;

    ReadImage(&ho_Image1, "C:/Users/Jv/Desktop/1.jpg");
    GetImageSize(ho_Image1, &hv_Width, &hv_Height);
    SetWindowAttr("background_color", "black");

    HWND hwnd1;
    CRect rect;
    GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);
    hwnd1 = GetDlgItem(IDC_STATIC)->m_hWnd;
    LONG PictureControlID = (LONG)hwnd1;

    HTuple m_width, m_high;
    m_width[0] = rect.Width();
    m_high[0] = rect.Height();


    OpenWindow(0, 0, m_width,m_high, PictureControlID, "visible", "", &hv_WindowHandle);
    HDevWindowStack::Push(hv_WindowHandle);
    if (HDevWindowStack::IsOpen())
        DispObj(ho_Image1, HDevWindowStack::GetActive());
}

转载于:https://www.cnblogs.com/xixixing/p/10610620.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值