Wanneer transparantie nodig is in afbeeldingen op internet, is PNG een van de formaten die in je opkomt. SVG-afbeelding is ook een van de meest gebruikte afbeeldingsindelingen vanwege de schaalbaarheid. Voor het weergeven van kleine statische afbeeldingen, logo’s en voor afbeeldingen met transparante achtergronden hebben PNG-afbeeldingen vaak de voorkeur. Vanwege compatibiliteit of om een andere reden is het vaak nodig om SVG-vectorafbeeldingen naar andere indelingen te converteren. Dit artikel bespreekt hoe u SVG-vectorafbeeldingen converteert naar PNG-afbeeldingen met C#.

Converteer SVG naar PNG met C# (grijstinten, roteren, spiegelen, helder watermerk)

.NET API om afbeeldingen te converteren

GroupDocs stelt ontwikkelaars in staat met zijn Conversion API afbeeldingsindelingen om te zetten in verschillende andere indelingen. De geconverteerde afbeelding kan tijdens het conversieproces ook worden gewijzigd door verschillende geavanceerde opties te gebruiken. In dit artikel zal ik zijn GroupDocs.Conversion for .NET gebruiken om de SVG-vectorafbeelding om te zetten in PNG-afbeeldingen.

U kunt de DLL’s of het MSI-installatieprogramma downloaden uit de downloadsectie of u kunt de API installeren door het pakket toe te voegen aan uw .NET-toepassing via NuGet.

PM> Install-Package GroupDocs.Conversion

Uitvoerende voorbeelden van de functies zijn ook beschikbaar op GitHub. Bezoek de bijbehorende documentatie en API-referentie voor hulp.

Converteer SVG naar PNG-afbeelding met C#

Laten we beginnen met de conversie van vectorafbeeldingen naar PNG-indeling met behulp van de standaardinstellingen. De volgende stappen laten zien hoe u de SVG-afbeelding converteert naar PNG met C#.

  • Laad het SVG-bestand met behulp van de klasse Converter.
  • Bereid de opties voor beeldconversie voor.
  • Stel het conversiebestandstype in als PNG.
  • Roep de methode Convert() aan met voorbereide opties.

De volgende C#-broncode converteert de SVG naar een PNG-afbeelding.

// SVG-bestanden converteren naar PNG-indeling in C# met behulp van .NET Conversion API met standaardopties
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 naar PNG-afbeelding met behulp van geavanceerde opties met behulp van C#

Tijdens de conversie van de vectorafbeeldingen kunnen verschillende aanpassingen worden toegepast op PNG-uitvoer. Hier zijn enkele van de PNG-afbeeldingsfuncties die we kunnen aanpassen:

  • Helderheid
  • Contrast
  • Gamma
  • Grijstinten
  • Flip-modus (horizontaal / verticaal)
  • Rotatie Hoeken
  • Hoogte
  • Breedte
  • Watermerk

De volgende stappen laten zien hoe u een SVG-afbeelding naar PNG kunt converteren en hoe u verdere aanpassingen kunt toepassen op het resulterende PNG-bestand.

  • Laad de SVG-afbeelding met behulp van de klasse Converter.
  • Bereid de opties voor beeldconversie voor.
  • Stel het conversiebestandstype in als PNG.
  • Definieer de selectieve aanpassingen en pas hun waarden aan.
  • Converteer naar een PNG-afbeelding met behulp van de methode Convert() met voorbereide opties.

De volgende broncode past aanpassingen toe in SVG naar PNG-conversie met behulp van C#. U kunt elk van deze of de combinatie van effecten toepassen voor de gewenste PNG-uitvoer.

// Converteer een SVG-bestand naar PNG-indeling in C# met behulp van verschillende aanpassingen
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,
        */
    };
    // Watermerk toepassen op de geconverteerde afbeelding
    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);
}

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.

Conclusie

Laten we concluderen. We leerden de basis en weinig geavanceerde conversie van SVG-vectorafbeeldingen naar PNG-indeling met behulp van C# binnen .NET-toepassingen. We hebben verder geleerd hoe u SVG-bestanden kunt roteren, spiegelen of een watermerk kunt toevoegen wanneer ze naar PNG-indeling zijn geconverteerd. Bovendien hebben we geleerd hoe we het gamma en de helderheid kunnen verfijnen en hoe we de opties voor grijstinten AAN en UIT kunnen zetten.

Probeer voorbeelden van GitHub uit waarmee je je eigen SVG naar PNG-converter kunt bouwen, vergelijkbaar met degene die beschikbaar is op groupdocs.app. Neem voor vragen contact met ons op via het forum.

Zie ook