DPoint GetSvgElementScale(SvgStyledTransformedElement e) { for (int i = 0; i < e.Transform.Count; i++) { SvgTransform t = e.Transform[i]; if (t.Type == SvgTransformType.SVG_TRANSFORM_SCALE) return new DPoint(t.Matrix.Elements[0], t.Matrix.Elements[3]); } return new DPoint(1, 1); }
DPoint GetSvgElementTranslation(SvgStyledTransformedElement e) { for (int i = 0; i < e.Transform.Count; i++) { SvgTransform t = e.Transform[i]; if (t.Type == SvgTransformType.SVG_TRANSFORM_TRANSLATE) return new DPoint(t.Matrix.OffsetX, t.Matrix.OffsetY); } return new DPoint(0, 0); }
double GetSvgElementRotation(SvgStyledTransformedElement e) { for (int i = 0; i < e.Transform.Count; i++) { SvgTransform t = e.Transform[i]; if (t.Type == SvgTransformType.SVG_TRANSFORM_ROTATE) return t.Angle * Math.PI / 180; } return 0; }