예제 #1
0
        DrawObject CreateDrawObject(SvgElement svge)
        {
            DrawObject o = null;

            switch (svge.getElementType())
            {
            case SvgElement._SvgElementType.typeLine:
                o = DrawLine.Create((SvgLine )svge);
                break;

            case SvgElement._SvgElementType.typeRect:
                o = DrawRectangle.Create((SvgRect )svge);
                break;

            case SvgElement._SvgElementType.typeEllipse:
                o = DrawEllipse.Create((SvgEllipse )svge);
                break;

            case SvgElement._SvgElementType.typePolyline:
                o = DrawPolygon.Create((SvgPolyline )svge);
                break;

            case SvgElement._SvgElementType.typeImage:
                o = DrawImage.Create((SvgImage )svge);
                break;

            case SvgElement._SvgElementType.typeText:
                o = DrawText.Create((SvgText )svge);
                break;

            case SvgElement._SvgElementType.typeGroup:
                o = CreateGroup((SvgGroup )svge);
                break;

            case SvgElement._SvgElementType.typePath:
                o = DrawPath.Create((SvgPath)svge);
                break;

            case SvgElement._SvgElementType.typeDesc:
                Description = ((SvgDesc)svge).Value;
                break;

            default:
                break;
            }
            return(o);
        }
예제 #2
0
 public static DrawEllipse Create(SvgEllipse svg)
 {
     try
     {
         float cx   = ParseSize(svg.CX, Dpi.X);
         float cy   = ParseSize(svg.CY, Dpi.Y);
         float rx   = ParseSize(svg.RX, Dpi.X);
         float ry   = ParseSize(svg.RY, Dpi.Y);
         var   dobj = new DrawEllipse(cx - rx, cy - ry, rx * 2, ry * 2);
         dobj.SetStyleFromSvg(svg);
         return(dobj);
     }
     catch (Exception ex)
     {
         ErrH.Log("DrawEllipse", "CreateRectangle", ex.ToString(), ErrH._LogPriority.Info);
         return(null);
     }
 }