using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
// halcon命名空间
using HalconDotNet;
using namespace example
{
public partial class test Form
{
HDevelopExportModel HD = new HDevelopExportModel();
public Htuple hv_ExpDefaultWinHandleModel;
private void CreatModel(object sender, EventArgs e)
{
//这个是我在窗口上创建的一个button,点击该button后,打开文件选择一张图片,并将图片进行显示。
// 建立模板按钮
string ImagePath; // 定义模板图片的路径
HObject readImage = null; // 定义一个图像常量
OpenFileDialog openFileDialog1 = new OpenFileDialog(); //打开文件进行选择
openFileDialog1.Filter = "BMP文件|*.bmp*|PNG文件|*.png*|JPEG文件|*.jpg*"; //图片的文件格式
openFileDialog1.RestoreDirectory = true;
openFileDialog1.FilterIndex = 1;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
// 如果可以打开该文件路径,将该文件路径的图片显示在hWindowControl2窗口,并将图片变量赋值给readImage
ImagePath = openFileDialog1.FileName;
readImage = HD.ReadPicture(hWindowControl2.HalconWindow, ImagePath);
// 读取这张图片并将图片赋值给readImage,这句就是直接调的halcon类了,下边public定义的的是他的类
}
}
}
public partial class HDevelopExportModel
{
public HObject ReadPicture(HTuple window, string ImagePath)
{
// 得到图片显示的窗口句柄
hv_ExpDefaultWinHandleModel = window; //从上个函数传进来的窗口句柄
HOperatorSet.GenEmptyObj(out ho_Image);
ho_Image.Dispose();
HOperatorSet.ReadImage(out ho_Image, ImagePath); //从这个路径读取图片
HOperatorSet.GetImageSize(ho_Image, out hv_Width, out hv_Height); //得到他的大小
HOperatorSet.SetWindowAttr("background_color", "black");
//调整窗口显示大小以适应图片,这句一定要加上,不然图片显示的不全
HOperatorSet.SetPart(hv_ExpDefaultWinHandleModel, 0, 0, hv_Height - 1, hv_Width - 1);
HOperatorSet.DispObj(ho_Image, hv_ExpDefaultWinHandleModel); //将图像在该窗口进行显示
return ho_Image; //返回这个图像
}
} //end HDevelopExportModel
}// end example