تبدیل JPG به PNG

گروه مشترک متخصصان عکاسی (JPG/JPEG) و گرافیک شبکه قابل حمل (PNG) دو فرمت تصویر شطرنجی محبوبی هستند که در اینترنت استفاده می‌شوند. برخلاف JPEG که بر فشرده‌سازی DCT متکی است، PNG از فشرده‌سازی LZW استفاده می‌کند که مشابه فرمت‌های GIF و TIFF است. بزرگترین مزیت PNG نسبت به JPEG این است که فشرده سازی بدون تلفات است، به این معنی که هر بار که باز می شود و دوباره ذخیره می شود، کیفیت آن کاهش نمی یابد. PNG همچنین تصاویر دقیق و با کنتراست بالا را به خوبی مدیریت می کند. در این مقاله قصد داریم به مراحل تبدیل تصاویر JPG به فرمت PNG با استفاده از NET REST API بپردازیم.

API پردازش تصویر

Aspose.Imaging Cloud یکی از محصولات پیشرو ما برای پردازش فرمت تصویر است. این شما را قادر می‌سازد تا فرمت‌های تصویر موجود را به [فرمت‌های فایل پشتیبانی شده5 برش دهید، بچرخانید، بچرخانید، جستجو کنید، تبدیل و صادر کنید. معماری REST توسعه دهندگان را قادر می سازد تا قابلیت های تصویربرداری متنوعی را در راه حل های مبتنی بر Cloud خود پیاده سازی کنند. به منظور تسهیل بیشتر مشتریان خود، Aspose.Imaging Cloud SDK for .NET را در بالای Aspose.Imaging REST API توسعه داده ایم تا شما تمام دستکاری تصویر پیشرفته را در برنامه های C#.NET خود داشته باشید.

نصب و راه اندازی

برای استفاده از SDK، ابتدا باید آن را روی سیستم نصب کنیم. برای دانلود از طریق NuGet و GitHub در دسترس است. لطفاً برای نصب SDK از طریق NuGet دستور زیر را در ترمینال اجرا کنید:

nuget install Aspose.Imaging-Cloud

یا دستور زیر را در NuGet Package Manager اجرا کنید:

PM> Install-Package Aspose.Imaging-Cloud

رویکرد ویژوال استودیو

روش دیگر نصب مستقیم در ویژوال استودیو است:

  1. Solution Explorer را باز کنید.
  2. پروژه را گسترش دهید و روی پوشه Packages در محلول خود کلیک راست کنید.
  3. گزینه Manage NuGet Packages… را انتخاب کنید
  4. روی تب Browse کلیک کنید و “Aspose.Imaging-Cloud” را جستجو کنید.
  5. روی کادر کنار بسته Aspose.Imaging-Cloud کلیک کنید، نسخه مناسب را در برگه سمت راست انتخاب کنید و روی دکمه Add Package کلیک کنید.
Aspose.Imaging Cloud

تصویر 1: - Aspose.Imaging-Cloud as NuGet بسته.

اشتراک Aspose.Cloud

همه API های ما فقط برای افراد مجاز قابل دسترسی هستند تا یکپارچگی و حریم خصوصی داده ها حفظ شود. علاوه بر این، فایل‌های ذخیره‌شده در فضای ذخیره‌سازی ابری با حساب مشترک شده در Aspose.Cloud داشبورد مرتبط می‌شوند. بنابراین، اولین قدم این است که با مراجعه به Aspose.Cloud dashboard یک حساب اشتراک رایگان ایجاد کنید. اگر حساب GitHub یا Google دارید، به سادگی ثبت نام کنید. در غیر این صورت، روی دکمه Create a new Account کلیک کنید و اطلاعات مورد نیاز را ارائه دهید. اکنون با استفاده از اعتبارنامه وارد داشبورد شوید و بخش Applications را از داشبورد گسترش دهید و به سمت پایین به سمت قسمت Client Credentials حرکت کنید تا Client ID و Client Secret را ببینید.

اعتبار مشتری

تصویر 2: - اعتبار مشتری در داشبورد Aspose.Cloud.

JPG به PNG در C#

لطفاً مراحل زیر را برای انجام تبدیل فرمت JPG به PNG در برنامه C# .NET دنبال کنید.

  • هنگام ارسال Client ID و Client Secret به عنوان آرگومان، شی ImagingApi ایجاد کنید
  • در مرحله دوم، تصویر JPEG را از درایو محلی بخوانید و آن را به عنوان آرگومان به شی UploadFileRequest ارسال کنید.
  • سوم، روش UploadFile(…) ImagingApi را برای آپلود فایل در فضای ذخیره سازی ابری فراخوانی کنید.
  • اکنون یک نمونه از کلاس ConvertImageRequest ایجاد کنید که نام تصویر و فرمت خروجی حاصل را به عنوان آرگومان می گیرد.
  • سپس متد ConvertImage(…) از کلاس ImagingApi را فراخوانی کنید تا عملیات تبدیل آغاز شود.
  • در نهایت، خروجی را از استریم به درایو محلی با استفاده از File.Create ذخیره کنید (روش سفارشی در زیر به اشتراک گذاشته شده است).
// ClientID را از 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);

    // سند اصلی را در Cloud Storage بارگذاری کنید
    imagingApi.UploadFile(uploadFileRequest);
}

try
{
    // ImageRequest ایجاد کنید
    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 APIهای Cloud ما را قادر می سازد حتی از طریق پایانه های خط فرمان به آنها دسترسی داشته باشیم. اما به دلیل محدودیت‌های امنیتی، ابتدا باید یک رمز وب 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 را داریم، مرحله بعدی فراخوانی API 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 با مشکلی مواجه شدید یا سؤالی داشتید، لطفاً از طریق [تالار گفتمان پشتیبانی رایگان محصول18 تماس بگیرید.

مقالات مرتبط

همچنین توصیه می کنیم برای کسب اطلاعات بیشتر به لینک های زیر مراجعه کنید