打开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()中的代码

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

  1. # include "HalconCpp.h"
  2. using namespace HalconCpp;

运行即可。

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

  1. void CMFCApplication3Dlg::OnBnClickedButton1()
  2. {
  3. // TODO: 在此添加控件通知处理程序代码
  4. // Local iconic variables
  5. HObject ho_Image1;
  6.  
  7. // Local control variables
  8. HTuple hv_Width, hv_Height, hv_WindowHandle;
  9.  
  10. ReadImage(&ho_Image1, "C:/Users/Jv/Desktop/1.jpg");
  11. GetImageSize(ho_Image1, &hv_Width, &hv_Height);
  12. SetWindowAttr("background_color", "black");
  13.  
  14. HWND hwnd1;
  15. CRect rect;
  16. GetDlgItem(IDC_STATIC)->GetWindowRect(&rect);
  17. hwnd1 = GetDlgItem(IDC_STATIC)->m_hWnd;
  18. LONG PictureControlID = (LONG)hwnd1;
  19. HTuple m_width, m_high;
  20. m_width[0] = rect.Width();
  21. m_high[0] = rect.Height();
  22.  
  23. OpenWindow(, , m_width,m_high, PictureControlID, "visible", "", &hv_WindowHandle);
  24. HDevWindowStack::Push(hv_WindowHandle);
  25. if (HDevWindowStack::IsOpen())
  26. DispObj(ho_Image1, HDevWindowStack::GetActive());
  27. }

MFC调用halcon生成的cpp内容的更多相关文章

  1. WIN10 64位下VS2015 MFC直接添加 halcon 12的CPP文件实现视觉检测

    近段时间开始接触halcon,但是在VS2015里面使用,无论是配置还是生产EXE文件,都不如意. 加上网上的教程很多,经过多次测试,其实有很多地方无需修改,如果修改的太多也失去了直接添加封装的意义. ...

  2. VS建立可供外部调用的MFC类DLL,C#调用MFC调用

    建立MFC DLL工程.一般选共享MFC库 关键是在你生成的CPP中,添加外部调用的接口 如下,意思是将这个函数对外公开. 如果你希望对外提供类,就把这个方法做成工厂. 如果你希望对外提供MFC的窗体 ...

  3. C#作为客户端调用gsoap生成的C++服务端

    近日在学习C++,偶然遇到网友想用C#调用gsoap生成的C++服务的问题,遂决定研究一下,网上搜索了很久,大多数是C++调用C#的应用.... 经过本人的不断努力,终于找到一种解决问题的方法,总结如 ...

  4. c++调用matlab生成的Dll动态连接库

    点击打开链接http://download.csdn.net/detail/nuptboyzhb/4228429 c++调用matlab生成的Dll动态连接库 实验平台:   matlab 7.0(R ...

  5. C++调用C#生成的DLL文件的各种问题

    C++调用C#生成的DLL文件: 首先选择建立一个C#的类库,然后再按照需求编写需要的函数 之后,对于C++调用过程需要注意的几点: 1.使用#using <....some.dll>指出 ...

  6. java调用wkhtmltopdf生成pdf文件,美观,省事

    最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多 ...

  7. 自定义序列化4 (MFC调用C#的.dll)

    CLR:CLR常用简写词语,CLR是公共语言运行时,Common Language Runtime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系 ...

  8. WPF调用C++生成的dll文件(示例)

    注:笔者使用的VS版本为2019.1.打开VS2019,选择文件 -> 新建 -> 项目 2.选择项目 新建项目时选择C++“控制台应用”语言:C++平台:Windows项目类型:空项目 ...

  9. 在java中调用mockjs生成模拟数据

    一.手写版 在前端有个模拟数据的神器 Mock.js 能生成随机数据,拦截 Ajax 请求,然后我觉得他的这个生成随机数据不错.然后我就到度娘一顿操作,没找到类似的java实现,于是就有了下面的代码: ...

随机推荐

  1. 一、VS2017支持Github

    选择 工具-->扩展和更新,搜索GitHub,安装GitHub的VS插件 安装完插件,打开视图-->团队资源管理器,我们可以看到Git插件菜单.通过菜单我们可以新建Git存储库,可以提交修 ...

  2. vue-cli:渲染过程理解2(vue init webpack方式创建)

    main.js: 入口文件 import Vue from 'vue' //引入node_modules中的vue import App from './App' //引入当前路径(src)下的App ...

  3. PHP超级全局变量、魔术变量和魔术函数

    PHP超级全局变量(9个) $GLOBALS 储存全局作用域中的变量 $_SERVER 获取服务器相关信息 $_REQUEST 获取POST和GET请求的参数 $_POST 获取表单的POST请求参数 ...

  4. U68464 滑稽树上滑稽果(guo)

    U68464 滑稽树上滑稽果(guo) 题目描述 小小迪有 n 个约会对象,每个对象有一个约会时长 p[i],小小迪 想尽可能多的去完成他的约会(假设小小迪可以瞬移),每个对象还有 一个忍耐时间 q[ ...

  5. Nginx stream ssl

    L 115 端口监听 netstat -anp | (端口名)

  6. 22Java之JDBCTemplate总结

    写在前面:这里总结4种方式来操作数据库(SE阶段) 一.JDBC         JDBC有关的类:都在java.sql 和 javax.sql 包下.   1.数据准备               ...

  7. Hibernate中的Entity类之间的继承关系之一MappedSuperclass

    在hibernate中,Entity类可以继承Entity类或非Entity类.但是,关系数据库表之间不存在继承的关系.那么在Entity类之间的继承关系,在数据库表中如何表示呢? Hibernate ...

  8. windoows ftp的自动上传bat

    @echo off set P=%cd% #获取脚本当前文件路径 del /f /s /q %P%\tmp.txt set Y=%DATE:~0,4% #获取年 set M=%DATE:~5,2% # ...

  9. jsp小测试--猜大小

    page1.jpg: <%@ page language="java" import="java.util.*" pageEncoding="g ...

  10. requests简单应用

    requests发送get请求 无参数的get请求: response = requests.get(url='http://ws.webxml.com.cn/WebServices/WeatherW ...