svg'den png'ye

Java’da SVG’yi PNG’ye dönüştürme

SVG görüntüler, boyut veya ekran çözünürlüğünden bağımsız olarak ölçeklenebilir oldukları ve aynı kaliteyi korudukları için öne çıkar. Herhangi bir çözünürlükte tasarlanabilirler ve kaliteyi bozmadan (veya pikselleşmeden) büyütülebilir/küçültülebilirler. Ancak, SVG görüntüleri pikseller yerine noktalara ve yollara dayalı olduğundan, bir raster görüntü kadar çok ayrıntı gösteremezler. Dolayısıyla, SVG’yi PNG görüntüsüne dönüştürürsek bu sorunlar çözülebilir.

SVG’den PNG’ye Dönüştürme API’sı

Bu makalede, raster, meta dosyaları ve photoshop’u çeşitli [Desteklenen Formatlara] programlı olarak düzenleme, işleme ve dönüştürme yetenekleri sunan REST tabanlı API olan Aspose.Imaging Cloud SDK for Java‘yı kullanacağız. ]. Ayrıca çevrimiçi olarak SVG’yi PNG’ye dönüştürme özelliğini de destekler. Şimdi SDK kullanımına başlamak için pom.xml (maven build type project) içine aşağıdaki bilgileri ekleyerek Java projemize referansını eklememiz gerekiyor.

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

Şimdi API’yi kullanmak için kişiselleştirilmiş müşteri kimlik bilgilerimize ihtiyacımız var. Halihazırda Aspose Cloud Dashboard kaydınız varsa kolayca elde edilebilirler. Aksi takdirde, geçerli bir e-posta adresi aracılığıyla ücretsiz bir hesap açın ve müşteri kimlik bilgilerinizi alın.

Java’da SVG’yi PNG’ye dönüştürme

Görüntü işleme API’miz minimum kod satırıyla PNG’yi SVG’ye ve SVG’yi PNG’ye dönüştürebilir. Bu bölümde, Java kullanarak SVG’yi PNG’ye dönüştürmek için tüm ayrıntıları tartışacağız.

  • Her şeyden önce, istemci kimlik bilgilerini argüman olarak ilettiğimiz ImagingApi sınıfından bir nesne oluşturun.
  • İkinci olarak, readAllBytes(…) yöntemini kullanarak SVG görüntüsünün içeriğini okuyun ve onu byte[] dizisine döndürün
  • Ardından, SVG adını geçirirken bir UploadFileRequest örneği oluşturun ve onu uploadFile(…) yöntemini kullanarak bulut depolama alanına yükleyin.
  • Şimdi, giriş SNG adını ve sonuç biçimini “PNG” olarak ilettiğimiz bir ConvertImageRequest nesnesi oluşturun.
  • SVG’den PNG’ye dönüştürmeyi başlatmak için convertImage(…) yöntemini çağırın. Çıktı daha sonra yanıt akışı olarak döndürülür
  • Son olarak, ortaya çıkan PNG’yi FileOutputStream nesnesini kullanarak yerel sürücüye kaydedin.
// ClientID ve ClientSecret'i https://dashboard.aspose.cloud/ adresinden alın
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// Görüntüleme nesnesi oluştur
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// yerel sistemden SVG görüntüsü yükle
File file1 = new File("File_Extension Icons.svg");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// dosya yükleme isteği nesnesi oluştur
UploadFileRequest uploadRequest = new UploadFileRequest("input.svg",imageStream,null);
// SVG görüntüsünü Bulut depolamaya yükleyin
imageApi.uploadFile(uploadRequest);

// görüntünün çıktı biçimini belirtin
String format = "PNG";

// Görüntü dönüştürme isteği nesnesi oluştur
ConvertImageRequest convertImage = new ConvertImageRequest("input.svg", format, null, null);
// SVG'yi PNG'ye dönüştürün ve görüntüyü yanıt akışında döndürün
byte[] resultantImage = imageApi.convertImage(convertImage);

// PNG görüntüsünü yerel depolamaya kaydedin
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();

Yukarıdaki örnekte kullanılan giriş SVG görüntüsü FileExtension Icons.svg adresinden indirilebilir.

svg'den png'ye

Resim: - svg’yi çevrimiçi olarak png’ye dönüştür Önizleme

cURL Komutlarını kullanarak SVG’yi PNG olarak kaydedin

Aspose.Imaging Cloud, REST mimarisine göre geliştirildiğinden cURL komutları ile kolayca erişilebilir. Bu bölümde, cURL komutlarını kullanarak SVG’yi PNG olarak kaydedeceğiz. Şimdi, ilk adım, aşağıdaki komutu kullanarak bir JWT erişim belirteci (istemci kimlik bilgilerine dayalı) oluşturmaktır.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT belirteci oluşturulduktan sonra, SVG’yi PNG görüntüsü olarak kaydetmek için lütfen aşağıdaki komutu yürütün.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/input.svg/convert?format=PNG" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o Resultant.png

Çözüm

Bu makalenin sonunda, Java kullanarak SVG’yi PNG’ye nasıl dönüştürebileceğimizin ayrıntılarını öğrendik. Aynı zamanda, cURL komutlarını kullanarak SVG’yi PNG’ye dönüştürme seçeneğini de araştırdık. Ayrıca, SDK kaynak kodunu ele geçirmek ve gereksinimlerinize göre değiştirmek isterseniz GitHub‘dan indirilebilir (Cloud SDK’larımız MIT lisansı altında geliştirilmiştir). API’nin harika özelliklerini test etmek için başka bir seçeneğin de web tarayıcısındaki SwaggerUI olduğunu lütfen unutmayın.

Bununla birlikte, Ürün Belgeleri, API’nin diğer heyecan verici özelliklerini açıklayan harika bir makale deposudur. Son olarak, API’yi kullanırken herhangi bir sorunla karşılaşmanız durumunda ücretsiz ürün destek forumu aracılığıyla bize ulaşmayı düşünebilirsiniz.

İlgili Makaleler

Aşağıdakiler hakkında daha fazla bilgi edinmek için aşağıdaki bağlantıları ziyaret etmenizi önemle tavsiye ederiz: