C#和Halcon混合编程

以一个简单的功能,打开图片,为例子

1.halcon代码

dev_close_window ()

read_image (Image, 'C:/Users/Public/Pictures/Sample Pictures/Koala.jpg')

get_image_size (Image, Width, Height)

dev_open_window (0, 0, Width, Height, 'black', WindowHandle)

dev_display (Image)

2.导出halcon代码(文件->导出)

C#和Halcon混合编程_第1张图片

3.建立C#工程

C#和Halcon混合编程_第2张图片

4.添加bin\dotnet35\halcondotnet.dll的引用

C#和Halcon混合编程_第3张图片

5.添加工具箱

找到工具箱,如果没有,就在顶部菜单--视图,中找到.
在空白处,右键--选择项,浏览,找到bin\dotnet35\halcondotnet.dll

C#和Halcon混合编程_第4张图片

这样操作之后啥也没有?
鼠标右键,勾选"全部显示"就行了.
C#和Halcon混合编程_第5张图片

6.设置界面

打开解决方案管理器,Form1.cs来设置界面


C#和Halcon混合编程_第6张图片

在工具箱中找到控件,直接往里面拖.


C#和Halcon混合编程_第7张图片

7.修改代码

C#和Halcon混合编程_第8张图片
代码图.png

点击事件代码:

        private void btnReadImage_Click(object sender, EventArgs e)
        {
            // 增加代码
            HDevelopExport HD = new HDevelopExport();
            HD.RunHalcon(hWindowControl1.HalconWindow);
        }

halcon导出的代码:
去掉下面的语句,粘贴到Form1.cs中namespace代码中

using System;
using HalconDotNet;

8.将botton控件和点击事件关联起来

C#和Halcon混合编程_第9张图片

在Click一栏,可以选择点击事件.选中 btnReadImage_Click即可

9,运行

10.可能的错误

1)可能会出现C# 无法加载 DLL“halcon”: 找不到指定的模块的问题,
找到halcon.dll,把它放在bin\release和bin\debug文件夹即可
2)试图加载格式不正确的程序
上面,咱们加载进来的dll都是64位的,所以debug/Release的设置都应该是64位平台
3)项目框架必须和halcondotnet.dll的框架相同,如果它是从halcon安装目录下,bin\dotnet35目录下拷贝过来的,显然框架不能高于.net3.5(经测试,设为4.0不一定会出错)

你可能感兴趣的:(C#和Halcon混合编程)