Example #1
0
        private void ReadShapeAttributes(ShapeVObject vObject, SvgVoShape svg)
        {
            ReadBaseRectangleVObjectAttributes(vObject, svg);

            vObject.Path  = Path.FromPathCommands(svg.Path);
            vObject.Angle = svg.Transform != null?Utils.GetAngle(svg.Transform.Elements[0], svg.Transform.Elements[1]) : 0;

            vObject.FillColor        = svg.GetFillColor(_serializer);
            vObject.BorderColor      = svg.GetBorderColor(_serializer);
            vObject.BorderWidth      = svg.StrokeWidth;
            vObject.FixedBorderWidth = svg.FixedBorderWidth;
        }
Example #2
0
        private void WriteShapeAttributes(SvgVoShape svg, ShapeVObject vObject)
        {
            WriteBaseRectangleVObjectAttributes(svg, vObject);

            var rect = vObject.Rectangle;

            vObject.Angle = 0;
            svg.Path      = vObject.GetTransformedPath().ToPathCommands();
            vObject.Angle = rect.Angle;

            var m = new Matrix();

            m.RotateAt(rect.Angle, new System.Drawing.PointF(rect.CenterX, rect.CenterY));
            svg.Transform = m;

            var cm = vObject.GetColorManagement(true);

            svg.SetFillColor(vObject.FillColor, ColorManagement.GetPreviewColor(cm, vObject.FillColor), _serializer);
            svg.SetBorderColor(vObject.BorderColor, ColorManagement.GetPreviewColor(cm, vObject.BorderColor), _serializer);
            svg.StrokeWidth      = vObject.BorderWidth;
            svg.FixedBorderWidth = vObject.FixedBorderWidth;
        }
Example #3
0
 internal VObject FromSvg(SvgElement svg)
 {
     if (svg is SvgVoGrid)
     {
         var vObject = new GridVObject();
         ReadGridAttributes(vObject, svg as SvgVoGrid);
         return(vObject);
     }
     else if (svg is SvgPolyline)
     {
         var vObject = new PolylineVObject();
         ReadPolylineAttributes(vObject, svg as SvgPolyline);
         return(vObject);
     }
     else if (svg is SvgVoDashLine)
     {
         var vObject = new DashedLineVObject();
         ReadDashLineAttributes(vObject, svg as SvgVoDashLine);
         return(vObject);
     }
     else if (svg is SvgLine)
     {
         var vObject = new LineVObject();
         ReadLineAttributes(vObject, svg as SvgLine);
         return(vObject);
     }
     else if (svg is SvgEllipse)
     {
         var vObject = new EllipseVObject();
         ReadEllipseAttributes(vObject, svg as SvgEllipse);
         return(vObject);
     }
     else if (svg is SvgVoSvg)
     {
         var vObject = new SvgVObject();
         ReadSvgAttributes(vObject, svg as SvgVoSvg);
         return(vObject);
     }
     else if (svg is SvgVoImage)
     {
         var vObject = new ImageVObject();
         ReadImageAttributes(vObject, svg as SvgVoImage);
         return(vObject);
     }
     else if (svg is SvgVoPlainText)
     {
         var vObject = new PlainTextVObject();
         ReadPlainTextAttributes(vObject, svg as SvgVoPlainText);
         return(vObject);
     }
     else if (svg is SvgVoCurvedText)
     {
         var vObject = new CurvedTextVObject();
         ReadCurvedTextAttributes(vObject, svg as SvgVoCurvedText);
         return(vObject);
     }
     else if (svg is SvgVoAutoScaledText)
     {
         var vObject = new AutoScaledTextVObject();
         ReadAutoScaledTextAttributes(vObject, svg as SvgVoAutoScaledText);
         return(vObject);
     }
     else if (svg is SvgVoPathBoundedText)
     {
         var vObject = new PathBoundedTextVObject();
         ReadPathBoundedTextAttributes(vObject, svg as SvgVoPathBoundedText);
         return(vObject);
     }
     else if (svg is SvgVoBoundedText)
     {
         var vObject = new BoundedTextVObject();
         ReadBoundedTextAttributes(vObject, svg as SvgVoBoundedText);
         return(vObject);
     }
     else if (svg is SvgVoPlaceholder)
     {
         var vObject = new PlaceholderVObject();
         ReadPlaceholderAttributes(vObject, (SvgVoPlaceholder)svg);
         return(vObject);
     }
     else if (svg is SvgVoRectangle)
     {
         var vObject = new RectangleVObject();
         ReadRectangleAttributes(vObject, (SvgVoRectangle)svg);
         return(vObject);
     }
     else if (svg is SvgVoShape)
     {
         var vObject = new ShapeVObject();
         ReadShapeAttributes(vObject, (SvgVoShape)svg);
         return(vObject);
     }
     else
     {
         return(null);
     }
 }