Web’deki görsellerde şeffaflık gerektiğinde akla gelen formatlardan biri PNG’dir. SVG görüntüsü de ölçeklenebilirliği nedeniyle yaygın olarak kullanılan görüntü formatlarından biridir. Küçük statik görüntüleri, logoları görüntülemek için ve şeffaf arka plana sahip görüntüler için PNG görüntüleri sıklıkla tercih edilir. Uyumluluk veya başka herhangi bir nedenle, SVG vektör grafiklerinin başka biçimlere dönüştürülmesi sıklıkla gerekir. Bu makalede, C# kullanılarak SVG vektör grafiklerinin PNG resimlerine nasıl dönüştürüleceği anlatılmaktadır.

C# (Gri Tonlama, Döndürme, Döndürme, Parlak Filigran) kullanarak SVG'yi PNG'ye dönüştürün

Görüntüleri Dönüştürmek için .NET API

GroupDocs, Dönüştürme API’sı ile geliştiricilere görüntü biçimlerini diğer çeşitli biçimlere dönüştürme yetkisi verir. Dönüştürülen görüntü, dönüştürme işlemi sırasında farklı gelişmiş seçenekler kullanılarak da değiştirilebilir. Bu makalede, SVG vektör resmini PNG resimlerine dönüştürmek için GroupDocs.Conversion for .NET‘yi kullanacağım.

İndirilenler bölümünden DLL’leri veya MSI yükleyicisini indirebilir veya NuGet yoluyla .NET uygulamanıza paketini ekleyerek API’yi yükleyebilirsiniz.

PM> Install-Package GroupDocs.Conversion

Özellikleri için çalışan örnekler de GitHub‘da mevcuttur. Rehberlik için belgelerini ve API Referansı’nı ziyaret edin.

C# kullanarak SVG’yi PNG Görüntüsüne dönüştürün

Varsayılan ayarları kullanarak vektör grafiklerini PNG formatına dönüştürmekle başlayalım. Aşağıdaki adımlar, SVG görüntüsünün C# kullanarak PNG’ye nasıl dönüştürüleceğini gösterir.

  • Converter sınıfını kullanarak SVG dosyasını yükleyin.
  • Görüntü dönüştürme seçeneklerini hazırlayın.
  • Dönüştürme dosyası türünü PNG olarak ayarlayın.
  • Hazırlanan seçeneklerle Convert() yöntemini çağırın.

Aşağıdaki C# kaynak kodu, SVG’yi bir PNG görüntüsüne dönüştürür.

// Varsayılan seçeneklerle .NET Conversion API kullanarak SVG dosyasını C# dilinde PNG formatına dönüştürme
using (Converter converter = new Converter("path/vector-graphics.svg"))
{
    ImageConvertOptions options = new ImageConvertOptions
    {
        Format = ImageFileType.Png
    };
    converter.Convert("path/svg-to-png.png", options);
}

C# kullanarak Gelişmiş Seçenekler kullanılarak SVG’den PNG Görüntüsüne

Vektör grafikleri dönüştürülürken PNG çıktısına çeşitli özelleştirmeler uygulanabilir. Ayarlayabileceğimiz PNG görüntü özelliklerinden bazıları şunlardır:

  • Parlaklık
  • Zıtlık
  • Gama
  • gri tonlama
  • Döndürme Modu (Yatay / Dikey)
  • Dönüş Açıları
  • Yükseklik
  • Genişlik
  • Filigran

Aşağıdaki adımlar, bir SVG görüntüsünün PNG’ye nasıl dönüştürüleceğini ve ortaya çıkan PNG dosyasına daha fazla ayarlamanın nasıl uygulanacağını gösterir.

  • Converter sınıfını kullanarak SVG grafiğini yükleyin.
  • Görüntü dönüştürme seçeneklerini hazırlayın.
  • Dönüştürme dosyası türünü PNG olarak ayarlayın.
  • Seçici özelleştirmeleri tanımlayın ve değerlerini ayarlayın.
  • Hazırlanan seçeneklerle Convert() yöntemini kullanarak bir PNG görüntüsüne dönüştürün.

Aşağıdaki kaynak kodu, C# kullanarak SVG’den PNG’ye dönüştürmede özelleştirme uygular. İstenen PNG çıktısı için bunlardan herhangi birini veya efekt kombinasyonlarını uygulayabilirsiniz.

// Çeşitli özelleştirmeleri kullanarak SVG dosyasını C# dilinde PNG formatına dönüştürün
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,
        */
    };
    // Dönüştürülen görüntüye Filigran uygulama
    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);
}

Ücretsiz API Lisansı Alın

API’yi değerlendirme sınırlamaları olmadan kullanmak için ücretsiz geçici lisans alabilirsiniz.

Çözüm

Sonuçlandıralım. .NET uygulamalarında C# kullanarak SVG vektör grafiklerinin temel ve biraz ileri düzeyde PNG biçimine dönüştürülmesini öğrendik. PNG formatına dönüştürüldüğünde SVG dosyalarının nasıl döndürüleceğini, çevrileceğini veya filigran ekleneceğini de öğrendik. Ek olarak, gama ve parlaklığa ince ayar yapmayı ve gri tonlama seçeneklerini nasıl AÇIK ve KAPALI konuma getireceğimizi öğrendik.

GitHub‘dan, groupdocs.app adresinde bulunana benzer kendi SVG’den PNG’ye Dönüştürücünüzü oluşturmanıza yardımcı olacak örnekleri çalıştırmayı deneyin. Herhangi bir sorunuz için forum aracılığıyla bize ulaşın.

Ayrıca bakınız