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 было заменено на WebFontStyle.
- Системное перечисление SmoothingMode заменено на свойство ImageRenderingOptions.UseAntialiasing.
- Системное перечисление TextRenderingHint заменено на свойство TextOptions.UseHinting.
FontStyle Vs WebFontStyle
В версии 25.1 перечисление FontStyle, определяющее стили шрифтов, такие как обычный, жирный и курсив, было заменено на перечисление WebFontStyle:
Old | New |
---|---|
FontStyle.Bold | WebFontStyle.Bold |
FontStyle.Italic | WebFontStyle.Italic |
FontStyle.Regular | WebFontStyle.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,
- системное перечисление SmoothingMode, ранее использовавшееся для управления качеством сглаживания отрисованных фигур и изображений, заменено свойством ImageRenderingOptions.UseAntialiasing;
- системное перечисление TextRenderingHint, позволяющее управлять качеством рендеринга текста, теперь заменено свойством TextOptions.UseHinting. Это свойство позволяет сохранить четкость и читабельность текста.
В приведенной ниже таблице соответствия указано, как применяются настройки рендеринга при переходе между старой и новой версиями Aspose.SVG for .NET.
Таблица соответствия для различных случаев рендеринга
Таблица дает четкое руководство, указывая, как параметры UseAntialiasing
и UseHinting
соответствуют старым свойствам, таким как SmoothingMode
и TextRenderingHint
:
UseAntialiasing | UseHinting | SmoothingMode | TextRenderingHint |
---|---|---|---|
true | true | SmoothingMode.AntiAlias | TextRenderingHint.AntiAliasGridFit |
false | true | SmoothingMode.None | TextRenderingHint.SingleBitPerPixelGridFit |
true | false | SmoothingMode.AntiAlias | TextRenderingHint.AntiAlias |
false | false | SmoothingMode.None | TextRenderingHint.SingleBitPerPixel |
Эта таблица показывает, как преобразовать предыдущие настройки сглаживания и рендеринга текста в новые свойства UseAntialiasing
и UseHinting
. Вот как можно интерпретировать и применять эту таблицу:
- Когда вы определите необходимый уровень четкости текста и рендеринга фигур для вашего проекта, сопоставьте прежние настройки с новыми свойствами.
- Замените старые значения
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 }
Выводы
- Переход к перечислению
WebFontStyle
, свойствамUseAntialiasing
иUseHinting
в Aspose.SVG for .NET 25.1 представляет собой шаг вперед в поддержке Linux-окружения. - Базовые значения свойств
UseAntialiasing
иUseHinting
были изменены, что привело к улучшению рендеринга текста при использовании опций по умолчанию. - Этот переход также направлен на унификацию публичного API, чтобы упростить доступ к различным версиям библиотеки Aspose.SVG for .NET, поддерживающим различные механизмы рендеринга SVG.
Таким образом, изменения в API, реализованные в релизе 25.1, значительно улучшают качество отображения текста и изображений, облегчают пользователям переключение между различными версиями библиотек Aspose.SVG for .NET, поддерживающими различные движки рендеринга SVG, и являются шагом вперед в поддержке Linux.
Aspose.SVG for .NET 25.1 Release Notes – Этот выпуск включает изменения в публичном API, связанные с улучшением качества рендеринга, и исправление ошибок для повышения общей производительности и стабильности библиотеки.