halcon的控件HWindowControl可以配合算子直接实现鼠标画矩形,画的步骤跟在halcon里画矩形是一样的。但是控件HSmartWindowControl不行,因为HSmartWindowControl自带鼠标可以自由移动图片,这和画矩形同时使用鼠标相撞。
下面是效果:
程序:
private void button2_Click(object sender, EventArgs e)
{
try//防止图形没画完就退出程序导致的报错问题
{
//直接获取光标,画圆的时候点一下就可以开始画
hWindowControl1.Focus();
HOperatorSet.SetColor(hWindowControl1.HalconWindow, "red");
HOperatorSet.DrawRectangle1(hWindowControl1.HalconWindow, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2);
HOperatorSet.GenRectangle1(out HObject rectangle, row1, column1, row2, column2);
HOperatorSet.SetDraw(hWindowControl1.HalconWindow, "margin");
HOperatorSet.DispRegion(rectangle, hWindowControl1.HalconWindow);
}
catch { }
}
同理的,这个控件可以实现halcon所有绘画的东西,例如园、椭圆等等。