Exemple #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)
        {
            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);
                    }
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// Repaints the HALCON window 'window'
        /// </summary>
        private void repaint(HalconDotNet.HWindow window)
        {
            int count = HObjList.Count;

            if (count > 0)
            {
                HObjectEntry entry;
                HSystem.SetSystem("flush_graphic", "false");
                window.ClearWindow();
                mGC.stateOfSettings.Clear();
                for (int i = 0; i < count; i++)
                {
                    entry = ((HObjectEntry)HObjList[i]);
                    if (entry.colorShow.Length > 0)
                    {
                        window.SetColor(entry.colorShow);
                    }
                    mGC.applyContext(window, entry.gContext);
                    window.DispObj(entry.HObj);
                }
                if (roiManager != null)
                {
                    roiManager.paintData(window);
                }
                HSystem.SetSystem("flush_graphic", "true");
                window.DispLine(-100.0, -100.0, -101.0, -101.0);
            }
            count = StrList.Count;
            if (count > 0)
            {
                foreach (StringX strX in StrList)
                {
                    window.SetFont("-Consolas-" + strX.size.ToString() + "-*-" + (strX.bold ? "1" : "0") + "-*-*-" + (strX.slant ? "1" : "0") + "-");
                    window.SetColor(strX.color.Name.ToLower());
                    window.SetTposition(strX.row, strX.column);
                    window.WriteString(strX.str);
                }
            }
        }