Щоразу, коли потрібна прозорість зображень в Інтернеті, одним із форматів, який спадає на думку, є PNG. Зображення SVG також є одним із часто використовуваних форматів зображень завдяки своїй масштабованості. Для відображення невеликих статичних зображень, логотипів і для зображень із прозорим фоном часто перевагу надають зображенням PNG. Через сумісність або будь-яку іншу причину часто потрібно конвертувати векторну графіку SVG в інші формати. У цій статті розповідається про те, як перетворити векторну графіку SVG на зображення PNG за допомогою C#.

Перетворення SVG на PNG за допомогою C# (відтінки сірого, поворот, перевертання, яскравий водяний знак)

.NET API для перетворення зображень

GroupDocs дає змогу розробникам за допомогою 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# за допомогою API перетворення .NET із параметрами за замовчуванням
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. Зв’яжіться з нами для будь-якого запиту через форум.

Дивись також