作者:韩兆新
示例一:打开一张图片
halcon源码:
dev_close_window () read_image (Image, 'fabrik') get_image_size (Image, Width, Height) dev_open_window (0, 0, Width, Height, 'black', WindowHandle) *使图像在C#控件铺开显示
dev_set_part (0, 0, Height-1, Width-1)
dev_display (Image)
注意这里的程序当中,用到了一个dev_set_part()算子,这个算子很重要。如果没有用这个算子,则在最后完成的控件中,图片将显示不完整。
另外注意,在HDevelop环境中,在默认设置下,图片的显示和更新是自动的。但如果想在控件中实现图片的显示,则必须在每一处需要显示的位置,使用dev_display()算子。
导出halcon代码(文件->导出),如中文注释为乱码时,请改变编码方式
建立C#工程:新建C#窗体程序
更改项目属性:(目标框架改为:.NET Framework 4)
添加HWindowControl控件:
在工具箱中右击->选项卡(向.NET Framework组件库 添加HWindowControl控件)
添加HWindowControl控件后的工具箱:
设置程序界面:
添加引用:
从导出的ReadImage.cs中拷贝HDevelopExport类到命名空间 HalconCsExample:
增加代码:
运行结果:
或者用以下方法将halcon导出的程序添加进来:
namespace Test_cat
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
HDevelopExport HD = new HDevelopExport();
private void button1_Click(object sender, EventArgs e)
{
HD.RunHalcon(hWindowControl1.HalconWindow);
}
}
}