SVG (Scalable Vector Graphics), animasyon destekli iki boyutlu grafikleri tanımlamak için XML tabanlı bir vektör görüntü formatıdır. Bu görüntüler, yüksek piksel yoğunluğu nedeniyle çoğunlukla web’de kullanılır. Öte yandan, zengin özellikler, aynı boyuta sahip PNG görüntüsüne kıyasla SVG görüntülerinin boyutunu da geliştirir. Bu tür farklılıklar, geliştiricilerin görüntüleri bir biçimden diğerine dönüştürmeyi düşünmesine olanak tanır. Bu makalede, Java’da SVG vektörlerinin PNG resimlerine nasıl dönüştürüleceği anlatılmaktadır.
Görüntüleri Dönüştürmek için Java API
GroupDocs.Conversion belgeyi ve Java geliştiricileri için görüntü dönüştürme API’sini gösterir. Bir formattan diğerine dönüştürmek için geniş bir resim formatı listesini destekler. Ek olarak, dönüştürme sonuçları mevcut gelişmiş seçenekler kullanılarak da özelleştirilebilir. SVG vektör grafiklerini PNG resim formatına dönüştürmek için GroupDocs.Conversion for Java adlı bu API’yi kullanacağım.
İndirin veya Yapılandırın
JAR dosyasını indirilenler bölümünden indirebilir veya maven tabanlı Java uygulamalarınızın pom.xml dosyası için depo ve bağımlılık yapılandırmalarını alabilirsiniz.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion</artifactId>
<version>22.3</version>
</dependency>
Java’da SVG’yi PNG Görüntüsüne Dönüştürme
Vakit kaybetmeden, varsayılan yapılandırma ile temel dönüştürmeye başlayalım. Aşağıdaki adımlar, SVG vektör grafik dosyasının Java’da PNG görüntüsüne nasıl dönüştürüleceğini gösterir.
- Converter sınıfını kullanarak PNG 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.
- Yüklenen SVG dosyasını PNG görüntüsüne dönüştürmek için convert() yöntemini çağırın.
Aşağıdaki Java kaynak kodu, SVG’yi bir PNG görüntüsüne dönüştürür.
// Varsayılan seçenekleri kullanarak SVG dosyasını Java'da PNG formatına dönüştürme
Converter converter = new Converter("path/vector-graphics.svg");
ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png);
converter.convert("path/svg-to-png.png", options);
Java’da Gelişmiş Seçenekler kullanılarak SVG’den PNG Görüntüsüne
İstenen sonucu elde etmek için SVG’den dönüştürürken PNG çıktısına birçok özelleştirme seçeneği uygulanabilir. SVG’den PNG’ye dönüştürme sırasında ayarlanabilecek özelliklerden bazıları şunlardır:
Özelleştirme Seçeneği | Yöntem |
---|---|
Parlaklık | parlaklığı ayarla(int değeri) |
Kontrast | Kontrast(int değeri) ayarla |
Flip Modu (Yatay / Dikey) | setFlipMode(ImageFlipModes değeri) |
Gama | setGamma(kayan değer) |
Grayscale | setGrayscale(boole değeri) |
Yükseklik | yüksekliği ayarla(int değeri) |
Döndürme Açıları | setRotateAngle(int değeri) |
Filigran | setWatermark(WatermarkTextOptions değeri) |
Genişlik | Genişliği ayarla(int değeri) |
Aşağıdaki adımlar, Java’da bir SVG grafiğini PNG görüntüsüne dönüştürürken varyasyonları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.
- İlgili ayarlayıcı yöntemlerini kullanarak diğer ilgili özellikleri ayarlayın ve değerlerini buna göre ayarlayın.
- Hazırlanan seçeneklerle convert() yöntemini kullanarak PNG görüntüsüne dönüştürün.
Gerekli PNG çıktısını elde etmek için bu efektlerden herhangi birini veya kombinasyon halinde uygulayabilirsiniz. Aşağıdaki kaynak kodu, Java’da SVG’den PNG’ye dönüştürme sırasında PNG görüntüsüne özelleştirme uygular.
// Çeşitli özelleştirmeleri kullanarak SVG dosyasını Java'da PNG formatına dönüştürün
Converter converter = new Converter("path/vector-graphics.svg");
ImageConvertOptions options = new ImageConvertOptions();
options.setFormat(ImageFileType.Png); // Set output format as PNG
options.setFlipMode(ImageFlipModes.FlipY); // Flip Vertically or Horizontally
options.setBrightness(50); // Set Brightness
options.setContrast(50); // Set Contrast
options.setGamma(0.5F); // Set Gamma
options.setGrayscale(true); // Set Grayscale
options.setRotateAngle(45); // Set Rotation
// SVG biçiminden dönüştürüldüğünde PNG'ye filigran ekleyin
WatermarkTextOptions watermark = new WatermarkTextOptions("Watermark");
watermark.setColor(Color.BLUE);
watermark.setBackground(false);
watermark.setRotationAngle(-45);
watermark.setTop(50);
watermark.setLeft(50);
watermark.setTransparency(0.2);
watermark.setWidth(450);
watermark.setHeight(450);
options.setWatermark(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 bir geçici lisans alabilirsiniz.
Çözüm
Özetle, Java uygulamalarında SVG dosyalarını PNG formatına dönüştürmeyi öğrendik. Ayrıca PNG dosyalarını SVG formatından dönüştürürken nasıl döndürebileceğimizi, çevirebileceğimizi veya filigran ekleyebileceğimizi öğrendik. Ayrıca parlaklık, gama ve gri tonlama seçeneklerinin nasıl ayarlanacağını tartıştık.
Kendi görüntü dönüştürme Java uygulamanızı oluşturmayı deneyebilirsiniz. Belge ve resim dönüşümlerinin otomasyonu için belgelerden API’ler hakkında daha fazla bilgi edinebilirsiniz.
En kolay yol, örnekleri GitHub deneyimlemektir. Herhangi bir sorunuz için forum aracılığıyla bize ulaşın.