Всякий раз, когда требуется прозрачность изображений в Интернете, одним из форматов, которые приходят на ум, является PNG. Изображение SVG также является одним из наиболее часто используемых форматов изображений из-за его масштабируемости. Для отображения небольших статических изображений, логотипов и изображений с прозрачным фоном часто предпочтительны изображения PNG. Из-за совместимости или по любой другой причине часто требуется конвертировать векторную графику SVG в другие форматы. В этой статье обсуждается, как преобразовать векторную графику SVG в изображения PNG с помощью C#.
 
 
.NET API для преобразования изображений
GroupDocs позволяет разработчикам с помощью Conversion API преобразовывать форматы изображений в различные другие форматы. Преобразованное изображение также можно изменить в процессе преобразования, используя различные дополнительные параметры. В этой статье я буду использовать его GroupDocs.Conversion for .NET для преобразования векторного изображения SVG в изображения PNG.
Вы можете загрузить DLL или установщик MSI из раздела загрузок или установить API, добавив его пакет в свое приложение .NET через NuGet.
PM> Install-Package GroupDocs.Conversion
Запущенные примеры его функций также доступны на GitHub. Посетите документацию и справочник по API для получения рекомендаций.
Преобразование SVG в PNG-изображение с помощью C#
Начнем с преобразования векторной графики в формат PNG с настройками по умолчанию. Следующие шаги показывают, как преобразовать изображение SVG в PNG с помощью C#.
- Загрузите файл SVG, используя класс Converter.
- Подготовьте параметры преобразования изображения.
- Установите тип файла преобразования как PNG.
- Вызвать метод Convert() с подготовленными параметрами.
Следующий исходный код C# преобразует SVG в изображение PNG.
// Как преобразовать файл SVG в формат PNG на C# с помощью .NET Conversion API с параметрами по умолчанию
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}
Изображение SVG в PNG с использованием дополнительных параметров с использованием C#
Различные настройки могут быть применены к выводу PNG при преобразовании векторной графики. Вот некоторые функции изображения PNG, которые мы можем настроить:
- Яркость
- Контраст
- Гамма
- Оттенки серого
- Режим переворота (горизонтальный/вертикальный)
- Углы поворота
- Высота
- Ширина
- Водяной знак
Следующие шаги показывают, как преобразовать изображение SVG в PNG и применить дополнительные настройки к полученному файлу PNG.
- Загрузите графику SVG, используя класс Converter.
- Подготовьте параметры преобразования изображения.
- Установите тип файла преобразования как PNG.
- Определите выборочные настройки и настройте их значения.
- Преобразование в изображение PNG с помощью метода Convert() с готовыми параметрами.
Следующий исходный код применяет настройку преобразования SVG в PNG с помощью C#. Вы можете применить любой из них или комбинацию эффектов для желаемого вывода PNG.
// Преобразование файла SVG в формат PNG на C# с использованием различных настроек
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png,
        FlipMode = ImageFlipModes.FlipY,
        RotateAngle = 45, 
        Grayscale = true
        /*
        Brightness = 50,
        Contrast = 50,
        Gamma = 0.5F,
        */
    };
    // Применение водяного знака на преобразованном изображении
    WatermarkOptions watermark = new WatermarkTextOptions("Watermark")
    {
        Color = Color.Blue,
        Width = 150,
        Height = 150,
        Background = false,
        Top = 50,
        Left = 50,
        RotationAngle = -45,
        Transparency = 50,
    };
    options.Watermark = watermark;
    
    converter.Convert("path/svg-to-png-customized.png", options);
}
Получите бесплатную лицензию API
Вы можете получить бесплатную временную лицензию для использования API без ограничений пробной версии.
Вывод
Подведем итог. Мы изучили основы и немного продвинутое преобразование векторной графики SVG в формат PNG с помощью C# в приложениях .NET. Далее мы узнали, как поворачивать, переворачивать или добавлять водяной знак в файлы SVG при преобразовании в формат PNG. Кроме того, мы научились настраивать гамму и яркость, а также включать и выключать параметры оттенков серого.
Попробуйте запустить примеры из GitHub, которые помогут вам создать собственный конвертер SVG в PNG, подобный тому, который доступен на groupdocs.app. Свяжитесь с нами по любому вопросу через форум.