Пример #1
0
        /// <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);
        }
Пример #2
0
 /// <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);
 }
Пример #3
0
        /// <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);
            }
        }
Пример #4
0
        /// <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);
        }