/// <summary>Paints the ROI into the supplied window</summary> /// <param name="window">HALCON window</param> public override void Draw(HalconDotNet.HWindow window) { window.DispCircle(midR, midC, out_Radius); window.DispCircle(midR, midC, inner_Radius); window.DispRectangle2(out_Row1, out_Col1, 0, RoiDrawConfig.PaneWidth, RoiDrawConfig.PaneWidth); window.DispRectangle2(inner_Row1, inner_Col1, 0, RoiDrawConfig.PaneWidth, RoiDrawConfig.PaneWidth); window.DispRectangle2(midR, midC, 0, RoiDrawConfig.PaneWidth, RoiDrawConfig.PaneWidth); }
/// <summary>Paints the ROI into the supplied window</summary> /// <param name="window">HALCON window</param> public override void draw(HalconDotNet.HWindow window) { window.DispCircle(midR, midC, radius); window.DispRectangle2(row1, col1, 0, 5, 5); //window.DispRectangle2(midR, midC, 0, 5, 5); window.DispCross(midR, midC, 10, 0); }
/// <summary>将ROI绘制到提供的窗口中</summary> /// <param name="window">HALCON window</param> public override void draw(HalconDotNet.HWindow window) { window.DispLine(midR + Math.Sin(phi) * length1, midC + Math.Cos(phi) * length1, midR + (Math.Sin(phi) * (length1 + 30)), midC + (Math.Cos(phi) * (length1 + 30))); for (int i = 0; i < PointNum; i++) { window.DispRectangle2(midR + (-length1 + length1 / PointNum + length1 * 2 / PointNum * i) * Math.Sin(phi), midC + (-length1 + length1 / PointNum + length1 * 2 / PointNum * i) * Math.Cos(phi), -phi, length1 / PointNum, length2); } window.SetDraw("fill"); for (int i = 0; i < NumHandles - 1; i++) { window.DispRectangle2(rows[i].D, cols[i].D, -phi, 10, 10); } window.DispCircle((midR + Math.Sin(phi) * (length1 + 36)), (midC + Math.Cos(phi) * (length1 + 36)), 12); window.SetLineWidth(5); window.DispArrow(midR - (Math.Sin(phi - Math.PI / 2) * (length2 - 10)), midC - (Math.Cos(phi - Math.PI / 2) * (length2 - 10)), midR - (Math.Sin(phi - Math.PI / 2) * length2), midC - (Math.Cos(phi - Math.PI / 2) * length2), 2.0); window.SetLineWidth(1); window.SetDraw("margin"); }
/// <summary> /// Paints the active handle of the ROI object into the supplied window /// </summary> /// <param name="window">HALCON window</param> public override void displayActive(HalconDotNet.HWindow window) { window.SetDraw("margin"); double num = 5.0; if (this.activeHandleIdx < this.row1.TupleLength()) { window.DispRectangle2(this.row1[this.activeHandleIdx].D, this.col1[this.activeHandleIdx].D, 0.0, num, num); } else if (this.activeHandleIdx < this.row1.TupleLength() + this.row2.TupleLength()) { window.DispCircle(this.row2[this.activeHandleIdx - this.row1.TupleLength()].D, this.col2[this.activeHandleIdx - this.row1.TupleLength()].D, num); } else if (this.activeHandleIdx == this.row1.TupleLength() + this.row2.TupleLength()) { window.DispRectangle2(midR, midC, 0, num, num); } else { for (int i = 0; i < this.row1.TupleLength() - 1; i++) { window.DispLine(this.row1[i].D, this.col1[i].D, this.row1[i + 1].D, this.col1[i + 1].D); } window.DispLine(this.row1[0].D, this.col1[0].D, this.row1[this.row1.TupleLength() - 1].D, this.col1[this.row1.TupleLength() - 1].D); } }
/// <summary>Paints the ROI into the supplied window</summary> /// <param name="window">HALCON window</param> public override void draw(HalconDotNet.HWindow window) { //畫個 x double crossSize = 12; double crossAngle = 0.785398; //Reset line Style HOperatorSet.SetLineStyle(window, null); if (!_initPointsDone) { foreach (var dot in _clickedPointsPositionList) { HOperatorSet.DispCross(window, dot.RowBegin, dot.ColBegin, crossSize, crossAngle); } } else { window.DispCircle(midR, midC, radius); var w = _HandleRectangleWidth * _ZoomRatio; var h = _HandleRectangleHeight * _ZoomRatio; window.DispRectangle2(row1, col1, 0, w, h); window.DispRectangle2(midR, midC, 0, w, h); } }
/// <summary>Paints the ROI into the supplied window</summary> /// <param name="window">HALCON window</param> public override void draw(HalconDotNet.HWindow window) { window.DispCircle(midR, midC, radius); if (SizeEnable && ShowRect) { window.DispRectangle2(row1, col1, 0, 5, 5); window.DispRectangle2(midR, midC, 0, 5, 5); } }
/// <summary>Paints the ROI into the supplied window</summary> /// <param name="window">HALCON window</param> public override void draw(HalconDotNet.HWindow window) { window.DispCircle(midR, midC, radius); var w = _HandleRectangleWidth * _ZoomRatio; var h = _HandleRectangleHeight * _ZoomRatio; window.DispRectangle2(row1, col1, 0, w, h); window.DispRectangle2(midR, midC, 0, w, h); }
/// <summary>Paints the ROI into the supplied window</summary> /// <param name="window">HALCON window</param> public override void draw(HalconDotNet.HWindow window, bool include) { window.SetColor(regionColor); window.SetDraw("margin"); window.DispCircle(midR, midC, radius); if (include) { window.DispRectangle2(row1, col1, 0, 5, 5); window.DispRectangle2(midR, midC, 0, 5, 5); } }
/// <summary>绘制圆形坐标在窗体上</summary> /// <param name="window">HALCON 窗体</param> public override void Draw(HalconDotNet.HWindow window) { //显示圆 window.DispCircle(midR, midC, radius); int width = GetHandleWidth(); //显示两个控制框 window.DispRectangle2(row1, col1, 0, width, width); window.DispRectangle2(midR, midC, 0, width, width); }
/// <summary> /// Paints the active handle of the ROI object into the supplied window /// </summary> public override void displayActive(HalconDotNet.HWindow window) { switch (activeHandleIdx) { case 0: window.DispCircle(midR, midC, 5); window.DispCross(midR, midC, 8, 0); break; } }
/// <summary> /// draw, 決定要畫什麼在 window 上 /// </summary> /// <param name="window">Halcon Window</param> public override void draw(HalconDotNet.HWindow window) { double crossSize = 12; double crossAngle = 0.785398; //寫字 if (!String.IsNullOrEmpty(Name)) { if (!this.IsActive) { window.SetColor("red"); } HOperatorSet.SetTposition(window, _model.RowBegin, _model.ColBegin); window.WriteString(Name); } //畫圓 if (!this.IsActive) { window.SetColor("magenta"); } window.SetLineWidth(2); var radius = _model.Distance / CircleDistanceSetting; window.DispCross(_model.RowBegin, _model.ColBegin, crossSize, crossAngle); window.DispCircle(_model.RowBegin, _model.ColBegin, radius); //畫圓內虛線 /**/ window.SetLineWidth(1); HTuple dotLineStyle = new HTuple(new int[4] { 20, 7, 3, 7 }); window.SetLineStyle(dotLineStyle); var hLineRowBegin = _model.RowBegin; var hLineColBegin = _model.ColBegin - radius; var hLineRowEnd = _model.RowBegin; var hLineColEnd = _model.ColBegin + radius; var vLineRowBegin = _model.RowBegin - radius; var vLineColBegin = _model.ColBegin; var vLineRowEnd = _model.RowBegin + radius; var vLineColEnd = _model.ColBegin; window.DispLine(hLineRowBegin, hLineColBegin, hLineRowEnd, hLineColEnd); window.DispLine(vLineRowBegin, vLineColBegin, vLineRowEnd, vLineColEnd); //Reset line Style HOperatorSet.SetLineStyle(window, null); }
/// <summary> ///将ROI对象的活动句柄绘制到提供的窗口中 /// </summary> /// <param name="window">HALCON window</param> public override void displayActive(HalconDotNet.HWindow window) { if (activeHandleIdx != 5) { window.DispRectangle2(rows[activeHandleIdx].D, cols[activeHandleIdx].D, -phi, 13, 13); } if (activeHandleIdx == 5) { window.DispLine(midR + Math.Sin(phi) * length1, midC + Math.Cos(phi) * length1, midR + (Math.Sin(phi) * (length1 + 30)), midC + (Math.Cos(phi) * (length1 + 30))); window.DispCircle((midR + Math.Sin(phi) * (length1 + 36)), (midC + Math.Cos(phi) * (length1 + 36)), 15); } }
/// <summary>Paints the ROI into the supplied window</summary> /// <param name="window">HALCON window</param> public override void draw(HalconDotNet.HWindow window) { window.SetDraw("margin"); double num = 5.0; for (int i = 0; i < this.row1.TupleLength(); i++) { if (i < this.row1.TupleLength() - 1) { window.DispLine(this.row1[i].D, this.col1[i].D, this.row1[i + 1].D, this.col1[i + 1].D); } else { window.DispLine(this.row1[i].D, this.col1[i].D, this.row1[0].D, this.col1[0].D); } window.DispRectangle2(this.row1[i].D, this.col1[i].D, 0.0, num, num); } for (int j = 0; j < this.row2.TupleLength(); j++) { window.DispCircle(this.row2[j].D, this.col2[j].D, num); } window.DispRectangle2(midR, midC, 0, 5, 5); }
/// <summary>Paints the ROI into the supplied window</summary> /// <param name="window">HALCON window</param> public override void draw(HalconDotNet.HWindow window, int imageWidth, int imageHeight) { HOperatorSet.SetDraw(window, "margin"); window.DispCircle(midR, midC, radius); double littleRecSize = 0; if (imageHeight < 300) { littleRecSize = 1; } else if (imageHeight < 600) { littleRecSize = 2; } else if (imageHeight < 900) { littleRecSize = 3; } else if (imageHeight < 1200) { littleRecSize = 4; } else if (imageHeight < 1500) { littleRecSize = 5; } else if (imageHeight < 1800) { littleRecSize = 6; } else if (imageHeight < 2100) { littleRecSize = 7; } else if (imageHeight < 2400) { littleRecSize = 8; } else if (imageHeight < 2700) { littleRecSize = 9; } else if (imageHeight < 3000) { littleRecSize = 10; } else if (imageHeight < 3300) { littleRecSize = 11; } else if (imageHeight < 3600) { littleRecSize = 12; } else if (imageHeight < 3900) { littleRecSize = 13; } else if (imageHeight < 4200) { littleRecSize = 14; } else if (imageHeight < 4500) { littleRecSize = 15; } else if (imageHeight < 4800) { littleRecSize = 16; } else if (imageHeight < 5100) { littleRecSize = 17; } else { littleRecSize = 18; } if (littleRecSize % 2 != 0) { littleRecSize++; } HOperatorSet.SetDraw(window, "fill"); window.DispRectangle2(row1, col1, 0, littleRecSize, littleRecSize); window.DispRectangle2(midR, midC, 0, littleRecSize, littleRecSize); }
/// <summary>Paints the ROI into the supplied window</summary> /// <param name="window">HALCON window</param> public override void draw(HalconDotNet.HWindow window) { window.DispCircle(midR, midC, 5); window.DispCross(midR, midC, 8, 0); }