Zawsze, gdy potrzebna jest przezroczystość obrazów w Internecie, PNG jest jednym z formatów, które przychodzą na myśl. Obraz SVG jest również jednym z powszechnie używanych formatów obrazów ze względu na jego skalowalność. Do wyświetlania małych statycznych obrazów, logo i obrazów z przezroczystym tłem często preferowane są obrazy PNG. Ze względu na kompatybilność lub z jakiegokolwiek innego powodu często wymagana jest konwersja grafiki wektorowej SVG na inne formaty. W tym artykule omówiono sposób konwertowania grafiki wektorowej SVG na obrazy PNG przy użyciu języka C#.

Konwertuj SVG na PNG przy użyciu C# (skala szarości, obracanie, odwracanie, jasny znak wodny)

Interfejs API platformy .NET do konwersji obrazów

GroupDocs umożliwia programistom dzięki Conversion API konwersję formatów obrazów na różne inne formaty. Przekonwertowany obraz można również zmienić podczas procesu konwersji, korzystając z różnych zaawansowanych opcji. W tym artykule użyję GroupDocs.Conversion for .NET do konwersji obrazu wektorowego SVG na obrazy PNG.

Możesz pobrać instalator DLL lub MSI z sekcji pobierania lub zainstalować API, dodając jego pakiet do swojej aplikacji .NET za pośrednictwem NuGet.

PM> Install-Package GroupDocs.Conversion

Uruchamiane przykłady jego funkcji są również dostępne na GitHub. Odwiedź jego dokumentację i API Reference, aby uzyskać wskazówki.

Konwertuj SVG na obraz PNG za pomocą C#

Zacznijmy od konwersji grafiki wektorowej do formatu PNG przy domyślnych ustawieniach. Poniższe kroki pokazują, jak przekonwertować obraz SVG na PNG za pomocą języka C#.

  • Załaduj plik SVG przy użyciu klasy Converter.
  • Przygotuj opcje konwersji obrazu.
  • Ustaw typ pliku konwersji jako PNG.
  • Wywołaj metodę Convert() z przygotowanymi opcjami.

Poniższy kod źródłowy C# konwertuje plik SVG na obraz PNG.

// Jak przekonwertować plik SVG do formatu PNG w C# przy użyciu .NET Conversion API z domyślnymi opcjami
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 do obrazu PNG przy użyciu opcji zaawansowanych przy użyciu języka C#

Podczas konwersji grafiki wektorowej można zastosować różne dostosowania do danych wyjściowych PNG. Oto niektóre funkcje obrazu PNG, które możemy dostosować:

  • Jasność
  • Kontrast
  • Gamma
  • Skala szarości
  • Tryb odwracania (poziomy / pionowy)
  • Kąty obrotu
  • Wysokość
  • Szerokość
  • znak wodny

Poniższe kroki pokazują, jak przekonwertować obraz SVG na format PNG, a następnie zastosować poprawki do wynikowego pliku PNG.

  • Załaduj grafikę SVG za pomocą klasy Converter.
  • Przygotuj opcje konwersji obrazu.
  • Ustaw typ pliku konwersji jako PNG.
  • Zdefiniuj selektywne dostosowania i dostosuj ich wartości.
  • Konwertuj do obrazu PNG za pomocą metody Convert() z przygotowanymi opcjami.

Poniższy kod źródłowy stosuje dostosowywanie w konwersji SVG na PNG przy użyciu języka C#. Możesz zastosować dowolny z nich lub kombinację efektów, aby uzyskać żądany wynik PNG.

// Konwertuj plik SVG do formatu PNG w języku C#, korzystając z różnych dostosowań
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,
        */
    };
    // Stosowanie znaku wodnego na przekonwertowanym obrazie
    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);
}

Uzyskaj bezpłatną licencję API

Możesz otrzymać darmową tymczasową licencję na korzystanie z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumujmy. Poznaliśmy podstawy i mało zaawansowaną konwersję grafiki wektorowej SVG do formatu PNG przy użyciu języka C# w aplikacjach .NET. Ponadto dowiedzieliśmy się, jak obracać, odwracać lub dodawać znak wodny do plików SVG po przekonwertowaniu do formatu PNG. Ponadto nauczyliśmy się precyzyjnie dostrajać gamma i jasność oraz jak włączać i wyłączać opcje skali szarości.

Spróbuj uruchomić przykłady z GitHub, które pomogą Ci zbudować własny konwerter SVG na PNG podobny do tego dostępnego na groupdocs.app. Skontaktuj się z nami w przypadku jakichkolwiek pytań za pośrednictwem forum.

Zobacz też