JPG'yi PNG'ye dönüştür

Joint Photographic Experts Group (JPG/JPEG) ve Portable Network Graphics (PNG), internet üzerinden kullanılan iki popüler raster görüntü biçimidir. DCT sıkıştırmasına dayanan JPEG‘ün aksine, PNG, GIF ve TIFF biçimleri tarafından kullanılanla aynı olan LZW sıkıştırmasını kullanır. PNG’nin JPEG’e göre en büyük avantajı, sıkıştırmanın kayıpsız olmasıdır, yani her açılıp kaydedildiğinde kalitede kayıp olmaz. PNG ayrıca ayrıntılı, yüksek kontrastlı görüntüleri de iyi işler. Bu makalede, .NET REST API’yi kullanarak JPG görüntülerinin PNG biçimine nasıl dönüştürüleceği adımlarını ele alacağız.

Görüntü işleme API’si

Aspose.Imaging Cloud, Görüntü formatı işleme için önde gelen ürünlerimizden biridir. Mevcut görüntü formatlarını kırpmanıza, çevirmenize, ölçeklemenize, döndürmenize, aramanıza, dönüştürmenize ve Desteklenen Dosya Formatları’na aktarmanıza olanak tanır. REST mimarisi, geliştiricilerin bulut tabanlı çözümlerinde çeşitli görüntüleme yeteneklerini uygulamalarına olanak tanır. Müşterilerimize daha fazla kolaylık sağlamak için, C# .NET uygulamalarınızda tüm gelişmiş görüntü işlemeyi elde edebilmeniz için Aspose.Imaging REST API’sinin üstünde Aspose.Imaging Cloud SDK for .NET‘yi geliştirdik.

Kurulum

SDK’yi kullanmak için önce onu sisteme yüklememiz gerekiyor. NuGet ve GitHub üzerinden indirilebilir. SDK’yi NuGet üzerinden yüklemek için lütfen terminalde aşağıdaki komutu çalıştırın:

nuget install Aspose.Imaging-Cloud

Veya NuGet Paket Yöneticisi’nde aşağıdaki komutu çalıştırın:

PM> Install-Package Aspose.Imaging-Cloud

Visual Studio yaklaşımı

Başka bir yaklaşım da doğrudan Visual Studio içinden kurulumdur:

  1. Çözüm Gezgini’ni açın.
  2. Projeyi genişletin ve çözümünüz içindeki Paketler klasörüne sağ tıklayın.
  3. NuGet Paketlerini Yönet… seçeneğini seçin
  4. Gözat sekmesine tıklayın ve “Aspose.Imaging-Cloud” ifadesini arayın.
  5. Aspose.Imaging-Cloud paketinin yanındaki onay kutusunu tıklayın, sağ sekmede uygun sürümü seçin ve Paket Ekle butonuna tıklayın.
Aspose.Görüntüleme Cloudu

Resim 1:- Aspose.Imaging-Cloud NuGet paketi olarak.

Aspose.Cloud aboneliği

Tüm API’lerimize yalnızca yetkili kişiler erişebilir, böylece veri bütünlüğü ve gizlilik korunur. Ayrıca, bulut depolamada depolanan dosyalar Aspose.Cloud dashboard üzerinden abone olunan hesapla ilişkilendirilir. Bu nedenle, ilk adım Aspose.Cloud dashboard adresini ziyaret ederek ücretsiz bir abonelik hesabı oluşturmaktır. GitHub veya Google hesabınız varsa, sadece Kaydolun. Aksi takdirde, Yeni Hesap Oluştur düğmesine tıklayın ve gerekli bilgileri sağlayın. Şimdi kimlik bilgilerini kullanarak panoya giriş yapın ve panodan Uygulamalar bölümünü genişletin ve İstemci Kimliği ve İstemci Gizli Bilgisi ayrıntılarını görmek için İstemci Kimlik Bilgileri bölümüne doğru aşağı kaydırın.

Müşteri Kimlik Bilgileri

Resim 2:- Aspose.Cloud panosundaki İstemci Kimlik Bilgileri.

C# ile JPG’yi PNG’ye dönüştürme

C# .NET uygulamasında JPG formatını PNG formatına dönüştürmek için lütfen aşağıda verilen adımları izleyin.

  • İstemci Kimliği ve İstemci Gizli Ayrıntılarını argüman olarak geçirirken ImagingApi nesnesini oluşturun
  • İkinci olarak, JPEG görüntüsünü yerel sürücüden okuyun ve bunu UploadFileRequest nesnesine bir argüman olarak geçirin
  • Üçüncüsü, dosyayı Cloud depolama alanına yüklemek için ImagingApi’nin UploadFile(…) yöntemini çağırın
  • Şimdi, resim adını ve sonuç çıktı biçimini argüman olarak alan ConvertImageRequest sınıfının bir örneğini oluşturun
  • Daha sonra dönüştürme işlemini başlatmak için ImagingApi sınıfının ConvertImage(…) metodunu çağırın
  • Son olarak, File.Create (özel yöntem aşağıda paylaşılmıştır) kullanarak akıştan gelen çıktıyı yerel sürücüye kaydedin.
// ClientID'yi https://dashboard.aspose.cloud/ adresinden alın
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// ImagingApi'nin bir örneğini oluşturun
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");

// giriş JPEG görüntüsünün yolu
string imageFile = "jpg-to-png.jpeg";
 
// çıktı dosya biçimi
string format = "png";
 
// sonuç dosya adı
string resultantFile = "converted.png";

// dosyayı yerel sürücüden yükle
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
    var uploadFileRequest = new UploadFileRequest(imageFile, file);

    // Orijinal belgeyi Cloud Depolamaya yükleyin
    imagingApi.UploadFile(uploadFileRequest);
}

try
{
    // ImageRequest Oluştur
    var request = new ConvertImageRequest(imageFile, format, null, null);
    
    // dönüştürme işlemini başlat
    Stream updatedImage = imagingApi.ConvertImage(request);

    // dönüşüm başarılı olursa başarı mesajını yazdır
    if (request != null && request.Equals("OK"))
    {
        Console.WriteLine("JPG successfully converted to PNG !");
        Console.ReadKey();
    }
    
    // çıktıyı sistem sürücüsüne kaydetmek için yöntemi çağırın
    saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

// steam nesnesini dosya örneği olarak kaydetmek için özel yöntem
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

JPEG’den PNG’ye dönüştürme için cURL komutu

Cloud API’lerinin REST mimarisi, komut satırı terminalleri aracılığıyla bile bunlara erişmemizi sağlar. Ancak güvenlik kısıtlamaları nedeniyle, önce Aspose.Cloud panosundan alınan ClientID ve ClientSecret ayrıntılarına dayalı bir JSON Web Token (JWT) oluşturmanız gerekir. Lütfen JWT token’ını oluşturmak için terminalde aşağıdaki komutu yürütün.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT belirtecini aldıktan sonraki adım, JPG’yi PNG’ye dönüştürme işlemini gerçekleştirmek için ConvertImage API’sini çağırmaktır.

curl -X GET "https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o  converted.png

İstek URL’si

https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png

Çözüm

JPEG görüntüsünü PNG formatına dönüştürmek için Aspose.Imaging Cloud API‘yı inceledik. C# .NET kodunu kullanarak dosyaları dönüştürme süreçlerini ve cURL komutlarını kullanarak dönüştürmeyi öğrendik. Ayrıca Cloud SDK’nın bir MIT lisansı altında dağıtıldığını ve tam kaynak kodunun GitHub üzerinden indirilebileceğini lütfen unutmayın. API’yi kullanırken herhangi bir sorunla karşılaşırsanız veya herhangi bir sorunuz olursa lütfen Ücretsiz ürün destek forumu aracılığıyla bizimle iletişime geçmekten çekinmeyin.

İlgili makaleler

Ayrıca daha fazla bilgi edinmek için aşağıdaki bağlantıları ziyaret etmenizi öneririz