Aspose.SVG for .NET 25.1 – API unifiée et qualité de rendu améliorée

Aspose.SVG for .NET 25.1

Dans la version 25.1, Aspose.SVG a introduit des mises à jour de l’API publique, visant principalement à améliorer le support des environnements Linux. Ces mises à jour incluent le remplacement de plusieurs énumérations de System.Drawing par des implémentations dans les espaces de noms Aspose Aspose.SVG.Drawing et Aspose.Svg.Rendering.Image:

FontStyle Vs WebFontStyle

Dans la version 25.1, l’énumération FontStyle, qui spécifie les styles de police comme regular, bold et italic, a été remplacée par l’énumération WebFontStyle:

OldNew
FontStyle.BoldWebFontStyle.Bold
FontStyle.ItalicWebFontStyle.Italic
FontStyle.RegularWebFontStyle.Regular

En conséquence, dans la classe GraphicContext, le type de propriété FontStyle a changé:

 1namespace Aspose.Svg.Rendering
 2{
 3    public class GraphicContext
 4    { 
 5        //From:
 6        public virtual FontStyle FontStyle { get; set; }
 7 
 8        //To:
 9        public virtual WebFontStyle FontStyle { get; set; }
10    }
11}

SmoothingMode et TextRenderingHint Vs UseAntialiasing et UseHinting

Dans la version 25.1,

Le tableau de correspondance ci-dessous indique comment les paramètres de rendu sont appliqués lors de la migration entre les anciennes et les nouvelles versions d’Aspose.SVG for .NET.

Tableau de correspondance pour différents cas de rendu

Le tableau fournit des conseils clairs, indiquant comment les paramètres UseAntialiasing et UseHinting correspondent à des propriétés plus anciennes comme SmoothingMode et TextRenderingHint:

UseAntialiasingUseHintingSmoothingModeTextRenderingHint
truetrueSmoothingMode.AntiAliasTextRenderingHint.AntiAliasGridFit
falsetrueSmoothingMode.NoneTextRenderingHint.SingleBitPerPixelGridFit
truefalseSmoothingMode.AntiAliasTextRenderingHint.AntiAlias
falsefalseSmoothingMode.NoneTextRenderingHint.SingleBitPerPixel

Ce tableau montre comment convertir les anciens paramètres d’anticrénelage et de rendu de texte en nouvelles propriétés UseAntialiasing et UseHinting. Voici comment vous pouvez interpréter et appliquer ce tableau:

  1. Lorsque vous décidez du niveau de clarté du texte et du rendu des formes requis pour votre projet, faites correspondre les paramètres précédents aux nouvelles propriétés.
  2. Remplacez les anciennes valeurs SmoothingMode et TextRenderingHint par les paramètres correspondants UseAntialiasing et UseHinting.

Par exemple, si votre configuration précédente utilisait SmoothingMode.AntiAlias et TextRenderingHint.AntiAliasGridFit, passez à UseAntialiasing = true et UseHinting = true.

C’est l’exemple que nous allons étudier ci-dessous.

Utilisation des énumérations SmoothingMode et TextRenderingHint – 24.12 et versions antérieures


Cet extrait de code C# démontre comment rendre un contenu SVG vers un fichier image en utilisant Aspose.SVG for .NET avec les anciennes dépendances de System.Drawing, en configurant spécifiquement la sortie pour optimiser la qualité du rendu avec des options d’anti-crénelage:

 1using System.IO;
 2using Aspose.Svg;
 3using Aspose.Svg.Rendering.Image;
 4using System.Drawing.Drawing2D;
 5using System.Drawing.Text;
 6...
 7    // Create an instance of the ImageRenderingOptions class to specify rendering quality
 8    var opt = new ImageRenderingOptions
 9    {
10        SmoothingMode = SmoothingMode.AntiAlias,
11        Text =
12        {
13            TextRenderingHint = TextRenderingHint.AntiAliasGridFit
14        }
15    };
16    // Initialize an SVG Document
17    using (var doc = new SVGDocument("source.svg"))
18    // Create an ImageDevice object
19    using (var device = new ImageDevice(options, "out-old.png"))
20    {
21        // Rendering SVG to image
22        doc.RenderTo(device);
23    }

Utilisation des nouvelles propriétés UseAntialiasing et UseHinting – Depuis la version 25.1

Le code suivant démontre le rendu d’un contenu SVG dans un fichier image en utilisant les nouvelles propriétés UseAntialiasing et UseHinting. Cet exemple est le même que l’exemple précédent, où nous avons utilisé les énumérations SmoothingMode et TextRenderingHint du système:

 1using System.IO;
 2using Aspose.Svg;
 3using Aspose.Svg.Rendering.Image;
 4...
 5    // Create an instance of the ImageRenderingOptions class
 6    var options = new ImageRenderingOptions
 7    {
 8        UseAntialiasing = true,
 9        Text =
10        {
11            UseHinting = true
12        }
13    };
14    // Initialize an SVG Document
15    using (var doc = new SVGDocument("source.svg"))
16    // Create an ImageDevice object
17    using (var device = new ImageDevice(options, "out-new.png"))
18    {
19        // Rendering SVG to image
20        doc.RenderTo(device);
21    }

Conclusions

Ainsi, les changements d’API mis en œuvre dans la version 25.1 affectent grandement la qualité de l’affichage du texte et des images, facilitent le passage des utilisateurs entre les différentes versions des bibliothèques Aspose.SVG for .NET qui prennent en charge les différents moteurs de rendu SVG, et constituent des avancées en matière de prise en charge de Linux.

Aspose.SVG for .NET 25.1 Notes de version – Cette version comprend des modifications de l’API publique liées à l’amélioration de la qualité du rendu et à la correction de bogues afin d’améliorer les performances et la stabilité globales de la bibliothèque.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.