Aspose.SVG for .NET 25.1 – унифицированный API и улучшенное качество рендеринга

Aspose.SVG for .NET 25.1

В версии 25.1 в Aspose.SVG появились обновления публичного API, направленные в первую очередь на улучшение поддержки сред Linux. Эти обновления включают замену нескольких перечислений из System.Drawing на реализации в собственных пространствах имен Aspose Aspose.SVG.Drawing и Aspose.Svg.Rendering.Image:

FontStyle Vs WebFontStyle

В версии 25.1 перечисление FontStyle, определяющее стили шрифтов, такие как обычный, жирный и курсив, было заменено на перечисление WebFontStyle:

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

Соответственно, в классе GraphicContext изменился тип свойства FontStyle:

 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 и TextRenderingHint против UseAntialiasing и UseHinting

В версии 25.1,

В приведенной ниже таблице соответствия указано, как применяются настройки рендеринга при переходе между старой и новой версиями Aspose.SVG for .NET.

Таблица соответствия для различных случаев рендеринга

Таблица дает четкое руководство, указывая, как параметры UseAntialiasing и UseHinting соответствуют старым свойствам, таким как SmoothingMode и TextRenderingHint:

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

Эта таблица показывает, как преобразовать предыдущие настройки сглаживания и рендеринга текста в новые свойства UseAntialiasing и UseHinting. Вот как можно интерпретировать и применять эту таблицу:

  1. Когда вы определите необходимый уровень четкости текста и рендеринга фигур для вашего проекта, сопоставьте прежние настройки с новыми свойствами.
  2. Замените старые значения SmoothingMode и TextRenderingHint на соответствующие параметры UseAntialiasing и UseHinting.

Например, если в предыдущей конфигурации использовались SmoothingMode.AntiAlias и TextRenderingHint.AntiAliasGridFit, замените их на UseAntialiasing = true и UseHinting = true.

Этот пример мы рассмотрим ниже.

Использование перечислений SmoothingMode и TextRenderingHint – 24.12 и более ранние версии


Этот фрагмент кода C# демонстрирует, как рендерить содержимое SVG в файл изображения с помощью Aspose.SVG for .NET со старыми зависимостями System.Drawing, в частности, настраивая вывод для оптимизации качества рендеринга с помощью опций сглаживания:

 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    }

Использование новых свойств UseAntialiasing и UseHinting – начианая с версии 25.1

Следующий код демонстрирует рендеринг SVG-контента в файл изображения с использованием новых свойств UseAntialiasing и UseHinting. Этот пример аналогичен предыдущему, где использовались системные перечисления SmoothingMode и TextRenderingHint:

 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    }

Выводы

Таким образом, изменения в API, реализованные в релизе 25.1, значительно улучшают качество отображения текста и изображений, облегчают пользователям переключение между различными версиями библиотек Aspose.SVG for .NET, поддерживающими различные движки рендеринга SVG, и являются шагом вперед в поддержке Linux.

Aspose.SVG for .NET 25.1 Release Notes – Этот выпуск включает изменения в публичном API, связанные с улучшением качества рендеринга, и исправление ошибок для повышения общей производительности и стабильности библиотеки.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.