public void Repaint(HalconDotNet.HTuple hwndHandle) { try { int count = _hObjEntityList.Count; InteractiveROI.HObjectEntity hobjentry; HalconDotNet.HSystem.SetSystem("flush_graphic", "false"); //不更新图形变量 HalconDotNet.HOperatorSet.ClearWindow(hwndHandle); _grpCntx.LastGCSettings.Clear(); //显示对应图形上下文的图形对象(图像) for (int i = 0; i < count; i++) { hobjentry = (InteractiveROI.HObjectEntity)_hObjEntityList[i]; if (hobjentry.HObj != null && hobjentry.HObj.IsInitialized()) { _grpCntx.ApplyGraphicSettings(hwndHandle, hobjentry.GCSettings); HalconDotNet.HOperatorSet.DispObj(hobjentry.HObj, hwndHandle); } } NotifyInfoObserver(); //显示ROI if ((_ROICtrller != null) && (_ROIPaintMode == HWndCtrller.PAINT_MODE_INCLUDE_ROI)) { _ROICtrller.PaintData(hwndHandle); } //显示信息条 if (_msgLineList != null) { count = _msgLineList.Count; ProVision.Communal.MessageLine msgLine; for (int i = 0; i < count; i++) { msgLine = _msgLineList[i]; //设置显示文本: ProVision.Communal.Functions.SetDisplayFont(hwndHandle, msgLine.CtxSize, msgLine.CtxFont, msgLine.CtxBold, msgLine.CtxSlant); //显示文本 ProVision.Communal.Functions.DispMessage(hwndHandle, msgLine.Context, msgLine.CtxCoordinateSystem, msgLine.Row + RowlEdge * i, msgLine.Col, msgLine.CtxColor, new HalconDotNet.HTuple("false")); } } HalconDotNet.HSystem.SetSystem("flush_graphic", "true"); //更新图形变量 HalconDotNet.HOperatorSet.SetColor(hwndHandle, new HalconDotNet.HTuple("black")); HalconDotNet.HOperatorSet.DispLine(hwndHandle, -100.0, -100.0, -101.0, -101.0); //不知何用 } catch (HalconDotNet.HalconException hex) { } }
public void Repaint(HalconDotNet.HTuple hwndHandle) { try { int count = _hObjEntityList.Count; InteractiveROI.HObjectEntity hobjentry; HalconDotNet.HSystem.SetSystem("flush_graphic", "false"); //不更新图形变量 HalconDotNet.HOperatorSet.ClearWindow(hwndHandle); _grpCntx.LastGCSettings.Clear(); //显示对应图形上下文的图形对象(图像) for (int i = 0; i < count; i++) { hobjentry = (InteractiveROI.HObjectEntity)_hObjEntityList[i]; if (hobjentry.HObj != null && hobjentry.HObj.IsInitialized()) { _grpCntx.ApplyGraphicSettings(hwndHandle, hobjentry.GCSettings); HalconDotNet.HOperatorSet.DispObj(hobjentry.HObj, hwndHandle); } } NotifyInfoObserver(); if ((_ROICtrller != null) && (_ROIPaintMode == HWndCtrller.PAINT_MODE_INCLUDE_ROI)) { _ROICtrller.PaintData(hwndHandle); } HalconDotNet.HSystem.SetSystem("flush_graphic", "true"); //更新图形变量 HalconDotNet.HOperatorSet.SetColor(hwndHandle, new HalconDotNet.HTuple("black")); HalconDotNet.HOperatorSet.DispLine(hwndHandle, -100.0, -100.0, -101.0, -101.0); //不知何用 } catch (HalconDotNet.HalconException hex) { } }