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, связанные с улучшением качества рендеринга, и исправление ошибок для повышения общей производительности и стабильности библиотеки.

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.