这是界面
`
#region 读取显示图片
HObject ho_Image, ho_GrayImagem, ho_Region;
//定义一个窗口句柄
HTuple hv_WindowsHandle = null;
// 定义获取图片尺寸的Htuple变量
HTuple image_width, image_height;
public void inputPicture()
{
HOperatorSet.GenEmptyObj(out ho_Image);
HOperatorSet.GenEmptyObj(out ho_GrayImagem);
HOperatorSet.GenEmptyObj(out ho_Region);
ho_Image.Dispose();
string imagePath;
openFileDialog1.Filter = "JPEG文件|*.jpg|BMP文件|*.bmp|所有文件|*.*";
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
imagePath = openFileDialog1.FileName;
HOperatorSet.ReadImage(out ho_Image, imagePath);
//获取图片的大小(rows,columns)
HOperatorSet.GetImageSize(ho_Image, out image_width, out image_height);
//显示数值到窗口
lb_imageWidth.Text = image_width.ToString();
lb_imageHeight.Text = image_height.ToString();
}
}
public void showImage()
{
//没有这句,就只会显示第一次加载的图片,后面加载的图片都不会显示在界面上。
HDevWindowStack.CloseAll();
HOperatorSet.OpenWindow(0, 0, hWindowControl1.Width, hWindowControl1.Height, hWindowControl1.HalconWindow, "", "", out hv_WindowsHandle);
HDevWindowStack.Push(hv_WindowsHandle);
if (checkBox1.Checked)
{
if (HDevWindowStack.IsOpen())
{
ho_GrayImagem.Dispose();
HOperatorSet.Rgb1ToGray(ho_Image, out ho_GrayImagem);
HOperatorSet.DispObj(ho_GrayImagem, HDevWindowStack.GetActive());
ho_GrayImagem.Dispose();
}
}
else
{
if (HDevWindowStack.IsOpen())
{
HOperatorSet.DispObj(ho_Image, HDevWindowStack.GetActive());
}
}
}
private void button1_Click(object sender, EventArgs e)
{
inputPicture();
}
private void button2_Click(object sender, EventArgs e)
{
showImage();
}
#endregion`