SVGICONIMAGELIST 2.2: New SVG engine “CAIRO”

The 2.2 version of SVGIconsImageList boasts the addition of a new “engine” SVG, which uses the library “CairoSVG” , in addition to a new property AntialiasColor to improve even more rendering icons.
Thanks to the contribution of Lübbe Onken, a third engine has been added, a wrapper for the CairoSVG library that also allows the conversion of SVG to png or PDF.With this version it is now possible to choose between 2 base engines (Cairo wrapper or TSVG written in Delphi) as well as setting the preference for using Direct2D if the machine running the application is Windows 10 Creators update.Here is a table that summarizes the performances of the 3 available SVG Engines:
Count | Icon set | D2D | Cairo | TSVG | D2D | Cairo | TSVG |
---|---|---|---|---|---|---|---|
996 | Font-Awesome | 1469ms | 1218ms | 1470ms | 121% | 100% | 121% |
655 | Papirus | 1219ms | 1656ms | 1890ms | 100% | 136% | 155% |
5366 | Material-Design | 12016ms | 9594ms | 10531ms | 125% | 100% | 110% |
Using many “small” SVG icons the three libraries are equivalent, but if you are processing large SVG files, the D2D support is the most efficient.In addition to this addition, the color for the Antialias effect ( AntialiasColor ) visible in the component editor was also introduced : this color is used when the VCL requests a Bitmap from the ImageList (instead of exploiting the Draw mechanism on the canvas): in this case such color is useful for generating a bitmap with transparency and gradient (antialias) towards the defined color ( here the details of the discussion that led to its implementation).

All the news are always available in the repository:
https://github.com/EtheaDev/SVGIconImageList
All features are fully described in the online documentation:
https://github.com/EtheaDev/SVGIconImageList/wiki