• 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());
    }

  • 相关阅读:
    eas之Uuid和BOSUuid 区别
    BOS工具之BOS应用框架
    eas之EAS手工打包及快速部署工具
    S-HR体验中心
    wafII笔记
    eas之MrpUI
    S-HR快速查看shr日志
    S-HR二开基础
    linux安装mysql
    linux安装tomcat
  • 原文地址:https://www.cnblogs.com/xixixing/p/10610620.html
Copyright © 2020-2023  润新知