ImageEn, unit iexSVG

IEParseSVGPathTag


Declaration

function IEParseSVGPathTag(const TagContent: string; var Points: TIEDPointArray; var PointFormats: TIEPointFormatArray; var PointCount: Integer;
                           var StrokeWidth: Double; var StrokeColor: TColor; var FillColor: TColor; var Opacity: Double; InitializeStyles: Boolean = True): Boolean; overload;
function IEParseSVGPathTag(const Tag: TIESVGTag; PageScaleX, PageScaleY: Double; var Points: TIEDPointArray; var PointFormats: TIEPointFormatArray; var PointCount: Integer;
                           var StrokeWidth: Double; var StrokeColor: TColor; var FillColor: TColor; var Opacity: Double; var ToRotate: Double;
                           InitializeStyles: Boolean = True; ProcessTransforms: Boolean = True): Boolean; overload;


Description

Parse an SVG path tag and output the found points and style properties.
If InitializeStyles is true, any styles not specified will be reset to SVG defaults.
If ProcessTransforms is true, any transforms attributes found in the tag will be used to move or scale the object (and the ToRotate var will be filled).
Result is false if the tag could not be parsed.



Demo

Demo  Demos\InputOutput\SVGParsing\SVGParsing.dpr


Examples

IEParseSVGPathTag( '<path d="M 10 80 Q 95 10 180 80" stroke="black" fill="white"/>', pts, fmts, ptCount, strokeWidth, strokeColor, fillColor, opacity );

IEParseSVGPathTag( '<path d="M550 280 l30 90 l-65 0 z" style="fill:pink;stroke:purple;stroke-width:3" opacity="0.60"/>', pts, fmts, ptCount, strokeWidth, strokeColor, fillColor, opacity );

IEParseSVGPathTag( '<path d="M550 205 L475 400 L625 400 Z" style="fill:lavender;stroke:purple;stroke-width:3" opacity="0.40"/>', pts, fmts, ptCount, strokeWidth, strokeColor, fillColor, opacity );


See Also

 ParseSVG
 IEParseSVGImageTag
 IEParseSVGLineTag
 IEParseSVGPolyTag
 IEParseSVGShapeTag
 IEParseSVGTextTag