/// <summary> /// 수정이 불 가능한 고정 도형 그리기 /// </summary> /// <param name="_cogPolygon">Polygon 객체</param> /// <param name="_groupName">그려지는 그룹명</param> /// <param name="_color">색상</param> public void DrawStaticShape(CogPolygon _cogPolygon, string _groupName, CogColorConstants _color, int _LineSize = 2) { StaticPolygonGraphic = new CogPolygon(); StaticPolygonGraphic = _cogPolygon; StaticPolygonGraphic.Color = _color; StaticPolygonGraphic.LineWidthInScreenPixels = _LineSize; StaticPolygonGraphic.Selected = false; kCogDisplay.ClearDisplay(_groupName); kCogDisplay.StaticGraphics.Add(StaticPolygonGraphic.CopyBase(CogCopyShapeConstants.All), _groupName); }
private void ApplyBarCodeIDInspValueFunction(CogBarCodeIDAlgo _CogBarCodeIDAlgo, ref CogBarCodeIDResult _CogBarCodeIDResult) { if (eTeachStep.ALGO_SET != CurrentTeachStep) { MessageBox.Show("Not select \"Algorithm Set\" button"); return; } AlgorithmAreaDisplayRefresh(); bool _Result = InspIDProcess.Run(InspectionImage, AlgoRegionRectangle, _CogBarCodeIDAlgo, ref _CogBarCodeIDResult); CogPolygon _Polygon = new CogPolygon(); if (_CogBarCodeIDResult != null) { for (int iLoopCount = 0; iLoopCount < _CogBarCodeIDResult.IDCount; iLoopCount++) { _Polygon.SetVertices(_CogBarCodeIDResult.IDPolygon[iLoopCount].GetVertices()); kpTeachDisplay.DrawStaticShape(_Polygon, "BarCodeID" + iLoopCount + "_Polygon", CogColorConstants.Green); string _ResultIDName = string.Format("ID = {0}", _CogBarCodeIDResult.IDResult); kpTeachDisplay.DrawText(_ResultIDName, _CogBarCodeIDResult.IDCenterX[iLoopCount], _CogBarCodeIDResult.IDCenterY[iLoopCount] + 30, CogColorConstants.Green, 8, CogGraphicLabelAlignmentConstants.BaselineCenter); } } }
private bool getBlobBoundary(out double[] pos_x, out double[] pos_y, out int pos_number, int toolNum, int index) { CogBlobTool blobTool = null; pos_x = null; pos_y = null; pos_number = 0; switch (toolNum) { case 1: blobTool = blobTool_1; break; case 2: blobTool = blobTool_2; break; case 3: blobTool = blobTool_3; break; default: return(false); } if (blobTool.Results == null) { return(false); } CogBlobResultCollection blobResult = blobTool.Results.GetBlobs(); if (blobResult == null) { return(false); } int number = blobResult.Count; if (index >= number || index < 0) { return(false); } CogPolygon blobBoundary = blobResult[index].GetBoundary(); int verticesNum = blobBoundary.NumVertices; pos_x = new double[verticesNum]; pos_y = new double[verticesNum]; for (int i = 0; i < verticesNum; i++) { pos_x[i] = blobBoundary.GetVertexX(i); pos_y[i] = blobBoundary.GetVertexY(i); } pos_number = verticesNum; return(true); }