public void DeleteRoi(DeleteType type)
        {
            if (DeleteType.One == type)
            {
                HalconDotNet.HDrawingObject removed = null;
                foreach (HalconDotNet.HDrawingObject obj in mHDrawRegions)
                {
                    if (obj.ID == mCurrentRoiId)
                    {
                        removed = obj;
                        break;
                    }
                }

                if (removed != null)
                {
                    removed.ClearDrawingObject();
                    mHDrawRegions.Remove(removed);
                }
            }
            else
            {
                int len = mHDrawRegions.Count;
                for (int i = 0; i < len; i++)
                {
                    mHDrawRegions[i].ClearDrawingObject();
                }
                mHDrawRegions.Clear();
            }
        }
        private HalconDotNet.HDrawingObject TransMyRegion2HDrawingObject(MyRegion myRegion)
        {
            HalconDotNet.HDrawingObject hDrawingObject = new HalconDotNet.HDrawingObject();
            if (RoiType.Rectangle == myRegion.Type)
            {
                int row1, col1, row2, col2;
                myRegion.Region.SmallestRectangle1(out row1, out col1, out row2, out col2);
                hDrawingObject.CreateDrawingObjectRectangle1(row1, col1, row2, col2);
            }
            if (RoiType.Circle == myRegion.Type)
            {
                int row1, col1, row2, col2;
                myRegion.Region.SmallestRectangle1(out row1, out col1, out row2, out col2);
                hDrawingObject.CreateDrawingObjectCircle((row1 + row2) / 2, (col1 + col2) / 2, (row2 - row1) / 2);
            }

            return(hDrawingObject);
        }
        private RoiType GetRoiType(HalconDotNet.HDrawingObject hDrawingObject)
        {
            RoiType type;
            string  objType = hDrawingObject.GetDrawingObjectParams("type");

            switch (objType)
            {
            case "rectangle1":
                type = RoiType.Rectangle;
                return(type);

            case "circle":
                type = RoiType.Circle;
                return(type);

            default:
                return(RoiType.Rectangle);
            }
            //return type;
        }