Browse our Products
Aspose.SVG for .NET 25.8 Release Notes
Major Features
We are pleased to announce the August release of Aspose.SVG for .NET 25.8.0!
This version introduces powerful new boolean geometry operations for SVG graphics elements, along with a key fix to improve text positioning accuracy.
Highlights
| Feature / Change | Benefit |
|---|---|
| Boolean Geometry Operations (SVGNET-505) | New API to combine any SVGGeometryElement (e.g., <circle>, <rect>, <path>) using Union, Difference, or Intersection (Crop) operations. Simplifies complex shape construction and editing workflows. |
| Accurate Text Layout (SVGNET-510) | Fixed an issue where text was incorrectly positioned when using dx / dy attributes, which could cause overlapping or misaligned text in rendered output. |
Enhancements and Fixes
SVGNET-505:
Added boolean geometry operations (Union,Difference,Intersection) for allSVGGeometryElementtypes. TheCombinemethod produces a new<path>element representing the merged result, enabling advanced shape composition.SVGNET-510:
Fixed incorrect text positioning due to miscalculateddx/dyvalues. The text layout algorithm now renders text consistently and correctly, preventing overlaps or broken visual output.
Public API Changes
Added APIs
| Namespace / Type | Member | Description |
|---|---|---|
Aspose.Svg.Rendering | BooleanPathOp enum | Specifies boolean operations for combining paths. |
Aspose.Svg.SVGGeometryElement | Combine(SVGGeometryElement other, BooleanPathOp op) | Combines this geometry with another SVG geometry using the specified boolean operation and returns a new <path> element. |
Aspose.Svg.SVGCircleElement | Combine(...) | Inherited support for boolean geometry operations. |
Aspose.Svg.SVGEllipseElement | Combine(...) | Inherited support for boolean geometry operations. |
Aspose.Svg.SVGLineElement | Combine(...) | Inherited support for boolean geometry operations. |
Aspose.Svg.SVGPathElement | Combine(...) | Inherited support for boolean geometry operations. |
Aspose.Svg.SVGPolygonElement | Combine(...) | Inherited support for boolean geometry operations. |
Aspose.Svg.SVGPolylineElement | Combine(...) | Inherited support for boolean geometry operations. |
Aspose.Svg.SVGRectElement | Combine(...) | Inherited support for boolean geometry operations. |
BooleanPathOp Enum Values
Union– The combined area of both paths.Difference– The area of the first path minus the second path (A − B).Intersection– The area common to both paths.Exclusion– The symmetric difference of the two paths (XOR).
Modified APIs
Aspose.Svg.Paths.SVGPathSegList- Constructor signature updated:
- Old:
public SVGPathSegList(List<SVGPathSeg> enumerable); - New:
public SVGPathSegList(IEnumerable<SVGPathSeg> enumerable);
Aspose.Svg.Saving.SVGZSaveOptions- Base class changed:
- Old:
public class SVGZSaveOptions : SVGSaveOptions - New:
public class SVGZSaveOptions : SaveOptions
Aspose.Svg.SVGDocument.Save- Now supports recognition of
.svgzextension when saving withSave(string path). - Added overloads for saving with
SVGZSaveOptionsvia bothstring pathandResourceHandler.
- Now supports recognition of
Removed / Replaced APIs
- The old
Save(ResourceHandler, SVGSaveFormat, SVGSaveOptions)overload has been removed and replaced with more explicit overloads:Save(ResourceHandler, SVGSaveOptions)Save(ResourceHandler, SVGZSaveOptions)
Migration Guide (Quick Checklist)
- Boolean Geometry Operations:
Use newCombinemethods withBooleanPathOpto perform shape unions, differences, and intersections.var combined = rect.Combine(circle, BooleanPathOp.Union);