تحويل JPG إلى PNG

تعد مجموعة خبراء التصوير الفوتوغرافي المشتركة (JPG/JPEG) والرسومات الشبكية المحمولة (PNG) من تنسيقات الصور النقطية الشائعة المستخدمة عبر الإنترنت. وعلى عكس JPEG، الذي يعتمد على ضغط DCT، يستخدم PNG ضغط LZW وهو نفس الضغط المستخدم في تنسيقي GIF وTIFF. تتمثل أكبر ميزة لتنسيق PNG على JPEG في أن الضغط لا يفقد أي جودة، مما يعني عدم وجود أي فقدان في الجودة في كل مرة يتم فتحها وحفظها مرة أخرى. كما يتعامل تنسيق PNG جيدًا مع الصور التفصيلية عالية التباين. في هذه المقالة، سنناقش الخطوات الخاصة بكيفية تحويل صور JPG إلى تنسيق PNG باستخدام واجهة برمجة تطبيقات .NET REST.

واجهة برمجة تطبيقات معالجة الصور

Aspose.Imaging Cloud هو أحد منتجاتنا الرائدة في معالجة تنسيقات الصور. فهو يتيح لك قص الصور وقلبها وتغيير حجمها وتدويرها والبحث عنها وتحويلها وتصدير تنسيقات الصور الموجودة إلى تنسيقات الملفات المدعومة. وتمكن بنية REST المطورين من تنفيذ إمكانيات تصوير متنوعة في حلولهم المستندة إلى السحابة. ولتسهيل الأمر على عملائنا بشكل أكبر، قمنا بتطوير Aspose.Imaging Cloud SDK for .NET على واجهة برمجة تطبيقات Aspose.Imaging REST حتى تحصل على كل عمليات معالجة الصور المتقدمة داخل تطبيقات C# .NET الخاصة بك.

تثبيت

لاستخدام مجموعة أدوات التطوير البرمجية، نحتاج أولاً إلى تثبيتها عبر النظام. وهي متاحة للتنزيل عبر NuGet وGitHub. يُرجى تنفيذ الأمر التالي في المحطة الطرفية لتثبيت مجموعة أدوات التطوير البرمجية عبر NuGet:

nuget install Aspose.Imaging-Cloud

أو قم بتنفيذ الأمر التالي في NuGet Package Manager:

PM> Install-Package Aspose.Imaging-Cloud

نهج Visual Studio

هناك نهج آخر وهو التثبيت مباشرة داخل Visual Studio:

  1. افتح مستكشف الحلول.
  2. قم بتوسيع المشروع ثم انقر بزر الماوس الأيمن فوق مجلد الحزم ضمن الحل الخاص بك.
  3. حدد خيار إدارة حزم NuGet…
  4. انقر فوق علامة التبويب “استعراض” وابحث عن “Aspose.Imaging-Cloud”.
  5. انقر فوق مربع الاختيار بجوار حزمة Aspose.Imaging-Cloud، وحدد الإصدار المناسب في علامة التبويب اليمنى وانقر فوق الزر “إضافة حزمة”.
سحابة Aspose.Imaging

الصورة 1:- Aspose.Imaging-Cloud كحزمة NuGet.

اشتراك Aspose.Cloud

لا يمكن الوصول إلى جميع واجهات برمجة التطبيقات الخاصة بنا إلا للأشخاص المصرح لهم، وذلك للحفاظ على سلامة البيانات وخصوصيتها. علاوة على ذلك، ترتبط الملفات المخزنة في التخزين السحابي بالحساب المشترك عبر لوحة تحكم Aspose.Cloud. لذلك، فإن الخطوة الأولى هي إنشاء حساب اشتراك مجاني من خلال زيارة لوحة تحكم Aspose.Cloud. إذا كان لديك حساب GitHub أو Google، فما عليك سوى التسجيل. بخلاف ذلك، انقر فوق الزر إنشاء حساب جديد وقم بتوفير المعلومات المطلوبة. الآن قم بتسجيل الدخول إلى لوحة التحكم باستخدام بيانات الاعتماد وقم بتوسيع قسم التطبيقات من لوحة التحكم وانتقل لأسفل نحو قسم بيانات اعتماد العميل لرؤية تفاصيل معرف العميل والسر الخاص بالعميل.

بيانات اعتماد العميل

الصورة 2: - بيانات اعتماد العميل في لوحة معلومات Aspose.Cloud.

JPG إلى PNG في C#

يرجى اتباع الخطوات الموضحة أدناه لإجراء تحويل تنسيق JPG إلى PNG داخل تطبيق C# .NET.

  • إنشاء كائن ImagingApi أثناء تمرير تفاصيل معرف العميل والسر الخاص بالعميل كوسائط
  • ثانيًا، اقرأ صورة JPEG من محرك الأقراص المحلي ومررها كحجة إلى كائن UploadFileRequest
  • ثالثًا، قم باستدعاء طريقة UploadFile(…) من ImagingApi لتحميل الملف إلى التخزين السحابي
  • الآن قم بإنشاء مثيل لفئة ConvertImageRequest التي تأخذ اسم الصورة وتنسيق الإخراج الناتج كحجج
  • ثم قم باستدعاء طريقة ConvertImage(…) من فئة ImagingApi لبدء عملية التحويل
  • أخيرًا، قم بحفظ الإخراج من الدفق إلى محرك الأقراص المحلي باستخدام File.Create (يتم مشاركة الطريقة المخصصة أدناه).
// احصل على معرف العميل من https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// إنشاء مثيل لـ ImagingApi
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");

// مسار صورة JPEG المدخلة
string imageFile = "jpg-to-png.jpeg";
 
// تنسيق الملف الناتج
string format = "png";
 
// اسم الملف الناتج
string resultantFile = "converted.png";

// تحميل الملف من محرك الأقراص المحلي
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
    var uploadFileRequest = new UploadFileRequest(imageFile, file);

    // تحميل المستند الأصلي إلى التخزين السحابي
    imagingApi.UploadFile(uploadFileRequest);
}

try
{
    // إنشاء طلب صورة
    var request = new ConvertImageRequest(imageFile, format, null, null);
    
    // بدء عملية التحويل
    Stream updatedImage = imagingApi.ConvertImage(request);

    // طباعة رسالة النجاح إذا كان التحويل ناجحًا
    if (request != null && request.Equals("OK"))
    {
        Console.WriteLine("JPG successfully converted to PNG !");
        Console.ReadKey();
    }
    
    // استدعاء الطريقة لحفظ الإخراج على محرك النظام
    saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}  

// طريقة مخصصة لحفظ كائن Steam كمثال للملف
public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

أمر cURL لتحويل JPEG إلى PNG

يتيح لنا تصميم REST لواجهات برمجة التطبيقات السحابية الوصول إليها حتى من خلال محطات سطر الأوامر. ولكن نظرًا للقيود الأمنية، فأنت بحاجة أولاً إلى إنشاء رمز ويب JSON (JWT) استنادًا إلى تفاصيل ClientID وClientSecret المستردة من لوحة معلومات Aspose.Cloud. يرجى تنفيذ الأمر التالي في المحطة الطرفية لإنشاء رمز JWT.

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، فإن الخطوة التالية هي استدعاء واجهة برمجة التطبيقات ConvertImage لإجراء عملية تحويل JPG إلى PNG.

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

طلب عنوان URL

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

خاتمة

لقد استكشفنا Aspose.Imaging Cloud API لتحويل صور JPEG إلى تنسيق PNG. لقد تعلمنا عمليات تحويل الملفات باستخدام كود C# .NET بالإضافة إلى التحويل باستخدام أوامر cURL. يرجى أيضًا ملاحظة أن Cloud SDK موزعة بموجب ترخيص MIT وأن كود المصدر الكامل الخاص بها متاح للتنزيل عبر GitHub. في حالة مواجهة أي مشكلة أو وجود أي استفسار أثناء استخدام API، فلا تتردد في الاتصال بنا عبر منتدى دعم المنتج المجاني.

مقالات ذات صلة

نوصي أيضًا بزيارة الروابط التالية لمعرفة المزيد عن