Font Matching
Support for matching fonts to individual runs of text. A font family is chosen for each character in the run. While a particular font face containing a suitable glyph for that character is selected.
The following C# code snippet shows how you may arrange text within a vector image by playing with text direction, oprientation, styles, font colors, reverse font, and many other text & font settings:
1 <svg height="300" width="400" xmlns="http://www.w3.org/2000/svg">
2 <text x="180" y="30" fill="red">Aspose.SVG</text>
3 <text x="180" y="60" fill="blue" textLength="140" >Aspose.SVG</text>
4 <text x="180" y="90" fill="grey" textLength="160" lengthAdjust="spacingAndGlyphs" style="direction: rtl; unicode-bidi: bidi-override">Aspose.SVG</text>
5 <text x="180" y="120" fill="green" style="text-anchor: middle" >Aspose.SVG</text>
6 <text x="260" y="90" style="writing-mode: tb">Aspose.SVG</text>
7</svg>
Optimized Memory Management for SVG Filters
Better memory management while applying SVG filters to vector graphics. The following C# code sample demonstrates how to create a drop shadow effect via API:
1<svg height="200" width="200" xmlns="http://www.w3.org/2000/svg">
2 <defs>
3 <filter id="shadow" x="-20" y="-20" height="150" width="150">
4 <feOffset result="offset" in="SourceAlpha" dx="10" dy="10" />
5 <feGaussianBlur result="blur" in="offset" stdDeviation="10" />
6 <feBlend in="SourceGraphic" in2="blur" mode="normal" />
7 </filter>
8 </defs>
9 <ellipse cx="95" cy="90" rx="75" ry="55" fill="#20B2AA" filter="url(#shadow)" />
10</svg>
No Resolution Loss for Inline SVG Rendering
The loss of resolution was an issue while rendering inline SVG vector graphics. This issue has been resolved now. It has also improved the vectorization quality of raster graphics.
The following is an example program code of how to vectorize raster images by converting a raster PNG image to vector SVG graphic using C# code via API:
using System.IO;
using Aspose.Svg.ImageVectorization;
using Aspose.Svg.Saving;
...
var vectorizer = new ImageVectorizer
{
Configuration =
{
TraceSmoother = new ImageTraceSmoother(2),
TraceSimplifier = new ImageTraceSimplifier(0.1f),
ColorsLimit = 2
}
};
using var document = vectorizer.Vectorize(Path.Combine(DataDir, "png-to-svg.png"));
document.Save(Path.Combine(OutputDir, "png-to-svg.svg"));
For a complete list of features, enhancements, and bug fixes in this release please visit, Aspose.SVG for .NET 22.1 Release Notes.