public void DrawNormalShape(ShapePointInfo shapePointInfos)
 {
     Point[] copyPoints = new Point[shapePointInfos.ShapePoints.Length];
     shapePointInfos.ShapePoints.CopyTo(copyPoints, 0);
     for (int i = 0; i < copyPoints.Length; i++)
     {
         copyPoints[i] = coordinates.ChangeToActual(copyPoints[i]);
     }
     shapePointInfos.ShapePoints = copyPoints;
     shapeDC.DrawNormalShape(shapePointInfos);
 }
        //public void EraseNormalShapeSection(Point[] shapePoints,Point[] earsePoints)
        //{
        //    DefaultColor defaultColor = DefaultColor.DefaultColorEx;
        //    Pen drawPen = new Pen(defaultColor.DefaultBackGroundColor);
        //    Color pointColor = defaultColor.DefaultBackGroundColor;
        //    Graphics pe = Graphics.FromImage(bitmap);
        //    for (int i = 1; i < shapePoints.Length; i++)
        //        pe.DrawLine(drawPen, shapePoints[i - 1].X, shapePoints[i - 1].Y, shapePoints[i].X, shapePoints[i].Y);
        //    if (earsePoints != null)
        //    {
        //        for (int i = 0; i < earsePoints.Length; i++)
        //            DrawSinglePoint(pe, earsePoints[i], pointColor);
        //    }
        //    pe.Dispose();
        //}
        public void DrawNormalShape(ShapePointInfo shapePointInfos)
        {
            Point[]      shapePoints  = shapePointInfos.ShapePoints;
            DefaultColor defaultColor = DefaultColor.DefaultColorEx;

            int[]    errorPointIndexs = shapePointInfos.ErrorPointIndexs;
            int[]    warnPointIndexs  = shapePointInfos.WarnPointIndex;
            Pen      drawPen          = new Pen(defaultColor.DefaultShapeColor);
            Graphics pe         = Graphics.FromImage(bitmap);
            Color    pointColor = defaultColor.DefaultShapeColor;

            for (int i = 1; i < shapePoints.Length; i++)
            {
                pointColor    = shapePointInfos.ShapeColor;
                drawPen.Color = defaultColor.DefaultShapeColor;
                if (warnPointIndexs != null)
                {
                    if (Array.IndexOf(warnPointIndexs, i) != -1)
                    {
                        drawPen.Color = defaultColor.DefalultWarnColor;
                    }
                }
                if (errorPointIndexs != null)
                {
                    if (Array.IndexOf(errorPointIndexs, i) != -1)
                    {
                        drawPen.Color = defaultColor.DefaultIrregularColor;
                        pointColor    = defaultColor.DefaultIrregularColor;
                    }
                    else if (Array.IndexOf(errorPointIndexs, i - 1) != -1)
                    {
                        drawPen.Color = defaultColor.DefaultIrregularColor;
                    }
                }
                pe.DrawLine(drawPen, shapePoints[i - 1].X, shapePoints[i - 1].Y, shapePoints[i].X, shapePoints[i].Y);
                if (i == 1)
                {
                    if (errorPointIndexs != null)
                    {
                        if (Array.IndexOf(errorPointIndexs, i - 1) != -1)
                        {
                            pointColor = defaultColor.DefaultIrregularColor;
                        }
                    }
                    DrawSinglePoint(pe, shapePoints[0], pointColor);
                }
                DrawSinglePoint(pe, shapePoints[i], pointColor);
            }
            pe.Dispose();
        }