Kdykoli je v obrázcích na webu potřeba průhlednost, PNG je jedním z formátů, které vás napadnou. Obrázek SVG je také jedním z běžně používaných formátů obrázků díky své škálovatelnosti. Pro zobrazení malých statických obrázků, log a obrázků s průhledným pozadím jsou často preferovány obrázky PNG. Kvůli kompatibilitě nebo z jakéhokoli jiného důvodu je často nutné převést vektorovou grafiku SVG do jiných formátů. Tento článek popisuje, jak převést vektorovou grafiku SVG na obrázky PNG pomocí C#.

Převést SVG na PNG pomocí C# (Stupně šedi, Otočit, Převrátit, Jasný vodoznak)

.NET API pro převod obrázků

GroupDocs umožňuje vývojářům pomocí Conversion API převádět obrazové formáty do různých jiných formátů. Převedený obrázek lze také změnit během procesu převodu pomocí různých pokročilých možností. V tomto článku použiji jeho GroupDocs.Conversion for .NET k převodu vektorového obrázku SVG na obrázky PNG.

Můžete si stáhnout DLL nebo instalační program MSI ze sekce stahování nebo nainstalovat API přidáním jeho balíčku do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Conversion

Spuštěné příklady jeho funkcí jsou také k dispozici na GitHub. Pokyny naleznete v dokumentaci a odkaz na rozhraní API.

Převést obrázek SVG na PNG pomocí C#

Začněme převodem vektorové grafiky do formátu PNG pomocí výchozího nastavení. Následující kroky ukazují, jak převést obrázek SVG na PNG pomocí C#.

  • Načtěte soubor SVG pomocí třídy Converter.
  • Připravte možnosti převodu obrázků.
  • Nastavte typ souboru převodu jako PNG.
  • Vyvolejte metodu Convert() s připravenými možnostmi.

Následující zdrojový kód C# převádí SVG na obrázek PNG.

// Jak převést soubor SVG do formátu PNG v C# pomocí rozhraní .NET Conversion API s výchozími možnostmi
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}

Obrázek SVG na PNG pomocí pokročilých možností pomocí C#

Při převodu vektorové grafiky lze na výstup PNG použít různá přizpůsobení. Zde jsou některé z funkcí obrázků PNG, které můžeme upravit:

  • Jas
  • Kontrast
  • Gamma
  • Stupně šedi
  • Režim převrácení (horizontální / vertikální)
  • Úhly rotace
  • Výška
  • Šířka
  • Vodoznak

Následující kroky ukazují, jak převést obrázek SVG na PNG a jak dále aplikovat úpravy na výsledný soubor PNG.

  • Načtěte grafiku SVG pomocí třídy Converter.
  • Připravte možnosti převodu obrázků.
  • Nastavte typ souboru převodu jako PNG.
  • Definujte selektivní přizpůsobení a upravte jejich hodnoty.
  • Převeďte na obrázek PNG pomocí metody Convert() s připravenými možnostmi.

Následující zdrojový kód používá přizpůsobení v převodu SVG na PNG pomocí C#. Pro požadovaný výstup PNG můžete použít kterýkoli z těchto efektů nebo kombinaci efektů.

// Převeďte soubor SVG do formátu PNG v C# pomocí různých přizpůsobení
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,
        */
    };
    // Použití vodoznaku na převedený obrázek
    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);
}

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci k používání API bez omezení hodnocení.

Závěr

Pojďme to uzavřít. Naučili jsme se základy a málo pokročilé převody vektorové grafiky SVG do formátu PNG pomocí C# v aplikacích .NET. Dále jsme se naučili, jak otočit, převrátit nebo přidat vodoznak do souborů SVG při převodu do formátu PNG. Navíc jsme se naučili doladit gamu a jas a jak zapínat a vypínat možnosti ve stupních šedi.

Zkuste si spustit příklady z GitHub, které vám pomohou vytvořit si vlastní převaděč SVG do PNG podobný tomu, který je k dispozici na groupdocs.app. Kontaktujte nás s jakýmkoli dotazem prostřednictvím fóra.

Viz také