Exemplo n.º 1
0
        /// <summary>
        /// Paints all objects from the ROIList into the HALCON window
        /// </summary>
        /// <param name="window">HALCON window</param>
        public void paintData(HalconDotNet.HWindow window)
        {
            window.SetDraw("margin");
            window.SetLineWidth(1);

            if (ROIList.Count > 0)
            {
                window.SetColor(inactiveCol);
                window.SetDraw("margin");

                for (int i = 0; i < ROIList.Count; i++)
                {
                    window.SetLineStyle(((ROI)ROIList[i]).flagLineStyle);
                    ((ROI)ROIList[i]).draw(window);
                }

                if (activeROIidx != -1)
                {
                    window.SetColor(activeCol);
                    window.SetLineStyle(((ROI)ROIList[activeROIidx]).flagLineStyle);
                    ((ROI)ROIList[activeROIidx]).draw(window);

                    window.SetColor(activeHdlCol);
                    ((ROI)ROIList[activeROIidx]).displayActive(window);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Paints all objects from the ROIList into the HALCON window
        /// </summary>
        /// <param name="window">HALCON window</param>
        public void paintData(HalconDotNet.HWindow window)
        {
            window.SetDraw("margin");
            window.SetLineWidth(1);

            if (ROIList.Count > 0)
            {
                //
                //window.SetColor(inactiveCol);

                window.SetDraw("margin");

                for (int i = 0; i < ROIList.Count; i++)
                {
                    window.SetColor(((ROI)ROIList[i]).Color);
                    window.SetLineStyle(((ROI)ROIList[i]).flagLineStyle);
                    ((ROI)ROIList[i]).draw(window, Convert.ToInt32(viewController.ImgCol2 - viewController.ImgCol1), Convert.ToInt32(viewController.ImgRow2 - viewController.ImgRow1));
                }

                if (activeROIidx != -1)
                {
                    window.SetColor(activeCol);
                    window.SetLineStyle(((ROI)ROIList[activeROIidx]).flagLineStyle);
                    ((ROI)ROIList[activeROIidx]).draw(window, Convert.ToInt32(viewController.ImgCol2 - viewController.ImgCol1), Convert.ToInt32(viewController.ImgRow2 - viewController.ImgRow1));

                    window.SetColor(activeHdlCol);
                    ((ROI)ROIList[activeROIidx]).displayActive(window, Convert.ToInt32(viewController.ImgCol2 - viewController.ImgCol1), Convert.ToInt32(viewController.ImgRow2 - viewController.ImgRow1));
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Paints specified region from the ROIList into the HALCON window
        /// </summary>
        /// <param name="window">HALCON window</param>
        public void paintSpecifiedROI(HalconDotNet.HWindow window, int RegionID)
        {
            window.SetDraw("margin");
            window.SetLineWidth(1);

            if ((ROIList.Count > 0) && (ROIList.Count > RegionID))
            {
                window.SetColor(inactiveCol);
                window.SetDraw("margin");

                window.SetLineStyle(((ROI)ROIList[RegionID]).flagLineStyle);
                ((ROI)ROIList[RegionID]).draw(window);


                if ((activeROIidx != -1) && (activeROIidx == RegionID))
                {
                    window.SetColor(activeCol);
                    window.SetLineStyle(((ROI)ROIList[activeROIidx]).flagLineStyle);
                    ((ROI)ROIList[activeROIidx]).draw(window);

                    window.SetColor(activeHdlCol);
                    ((ROI)ROIList[activeROIidx]).displayActive(window);
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Paints all objects from the ROIList into the HALCON window
        /// </summary>
        /// <param name="window">HALCON window</param>
        public void paintData(HalconDotNet.HWindow window)
        {
            if (isShowROI)
            {
                window.SetDraw("margin");
                window.SetLineWidth(1);

                if (ROIList.Count > 0)
                {
                    window.SetColor(inactiveCol);
                    window.SetDraw("margin");

                    for (int i = 0; i < ROIList.Count; i++)
                    {
                        window.SetLineStyle(((ROI)ROIList[i]).flagLineStyle);
                        ((ROI)ROIList[i]).draw(window, false);
                        window.SetColor("orange");//可以控制显示ROI编号,与HDisplay内的显示重复
                        double[] p = ((ROI)ROIList[i]).GetPosition();
                        window.SetTposition((int)p[0], (int)p[1]);
                        window.WriteString(i.ToString());
                    }

                    if (activeROIidx != -1)
                    {
                        window.SetColor(activeCol);
                        window.SetLineStyle(((ROI)ROIList[activeROIidx]).flagLineStyle);
                        ((ROI)ROIList[activeROIidx]).draw(window, true);

                        window.SetColor(activeHdlCol);
                        ((ROI)ROIList[activeROIidx]).displayActive(window);
                    }
                }
            }
        }
Exemplo n.º 5
0
 /// <summary>Paints the ROI into the supplied window.</summary>
 public override void draw(HalconDotNet.HWindow window)
 {
     window.SetLineStyle(new HTuple(10, 30));
     window.DispLine(row1, col1, row2, col2);
     window.SetLineStyle(new HTuple());
     window.DispRectangle2(row1, col1, 0, 5, 5);
     /*window.DispObj(arrowHandleXLD);*/ window.DispRectangle2(row2, col2, 0, 5, 5);
     window.DispRectangle2(midR, midC, 0, 5, 5);
 }
        /// <summary>
        /// Paints all objects from the ROIList into the HALCON window
        /// </summary>
        /// <param name="window">HALCON window</param>
        public void paintData(HalconDotNet.HWindow window)
        {
            window.SetDraw("margin");
            window.SetLineWidth(1);
            //畫還未完成的 ROI
            if (_waitForClickROI != null)
            {
                _waitForClickROI.draw(window);
            }

            if (ROIList.Count > 0)
            {
                window.SetColor(inactiveCol);
                window.SetDraw("margin");

                //畫所有的 ROI
                for (int i = 0; i < ROIList.Count; i++)
                {
                    if (i == activeROIidx)
                    {
                        continue;
                    }
                    var roi = (ROI)ROIList[i];
                    roi.IsActive = false;
                    if (roi.Visiable)
                    {
                        window.SetLineStyle(roi.flagLineStyle);
                        roi.SetZoomRatio(_zoomFactor);
                        roi.draw(window);
                    }
                }

                //畫 Active ROI
                if (activeROIidx != -1)
                {
                    var activeROI = (ROI)ROIList[activeROIidx];
                    activeROI.IsActive = true;
                    if (activeROI.Visiable)
                    {
                        window.SetColor(activeCol);
                        window.SetLineStyle(activeROI.flagLineStyle);
                        activeROI.draw(window);

                        window.SetColor(activeHdlCol);
                        activeROI.displayActive(window);
                    }
                }
            }
        }
        /// <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);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Paints all objects from the ROIList into the HALCON window
        /// </summary>
        /// <param name="window">HALCON window</param>
        public void PaintData(HalconDotNet.HWindow window, int imageWidth, double txtScale)
        {
            window.SetDraw("margin");
            window.SetLineWidth(1);

            if (ROIList.Count > 0)
            {
                window.SetColor(inactiveCol);
                window.SetDraw("margin");

                for (int i = 0; i < ROIList.Count; i++)
                {
                    window.SetLineStyle(ROIList[i].FlagLineStyle);
                    ROIList[i].ImageWidth = imageWidth;
                    ROIList[i].TxtScale   = txtScale;
                    if (ROIList[i].OperatorFlag == ROIOperation.None)
                    {
                        window.SetColor(serachRegionCol);
                    }
                    else
                    {
                        window.SetColor(inactiveCol);
                    }
                    ROIList[i].Draw(window);
                }

                if (activeROIidx != -1)
                {
                    window.SetColor(activeCol);
                    window.SetLineStyle(ROIList[activeROIidx].FlagLineStyle);
                    ROIList[activeROIidx].Draw(window);

                    window.SetColor(activeHdlCol);
                    ROIList[activeROIidx].DisplayActive(window);
                }
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// Paints all objects from the ROIList into the HALCON window
        /// </summary>
        /// <param name="window">HALCON window</param>
        public void paintData(HalconDotNet.HWindow window)
        {
            window.SetDraw("margin");
            window.SetLineWidth(1);

            if (ROIList.Count > 0)
            {
                window.SetDraw("fill");
                window.SetLineStyle(new HTuple());
                window.SetColor("blue");
                defineModelROI();
                if (ModelROI != null)
                {
                    window.DispRegion(ModelROI);
                }

                window.SetColor(inactiveCol);
                window.SetDraw("margin");

                for (int i = 0; i < ROIList.Count; i++)
                {
                    window.SetLineStyle(((ROI)ROIList[i]).flagLineStyle);
                    ((ROI)ROIList[i]).draw(window);
                }

                if (activeROIidx != -1)
                {
                    window.SetColor(activeCol);
                    window.SetLineStyle(((ROI)ROIList[activeROIidx]).flagLineStyle);
                    ((ROI)ROIList[activeROIidx]).draw(window);

                    window.SetColor(activeHdlCol);
                    ((ROI)ROIList[activeROIidx]).displayActive(window);
                }
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// draw, 決定要畫什麼在 window 上
        /// </summary>
        /// <param name="window">Halcon Window</param>
        public override void draw(HalconDotNet.HWindow window)
        {
            //虛線
            HTuple dotLineStyle = new HTuple(new int[4] {
                20, 7, 3, 7
            });

            //寫字
            if (!String.IsNullOrEmpty(Name))
            {
                if (!this.IsActive)
                {
                    window.SetColor("red");
                }

                HOperatorSet.SetTposition(window, _rawCenterRow, _rawCenterCol);
                window.WriteString(Name);
            }

            //Draw 中線
            window.SetLineStyle(dotLineStyle);
            window.DispLine(_model.RowBegin, _model.ColBegin, _model.RowEnd, _model.ColEnd);

            //Reset line Style
            HOperatorSet.SetLineStyle(window, null);

            //畫相依的線元素 (ROI)
            window.SetLineWidth(2);
            if (!this.IsActive)
            {
                HOperatorSet.SetColor(window, "magenta");
            }
            for (var i = 0; i < _lines.Count; i++)
            {
                var line = _lines[i];
                window.DispLine(line.RowBegin, line.ColBegin, line.RowEnd, line.ColEnd);
            }
        }