конвертувати JPG в PNG

Joint Photographic Experts Group (JPG/JPEG) і Portable Network Graphics (PNG) є двома популярними форматами растрових зображень, які використовуються в Інтернеті. На відміну від JPEG, який покладається на стиснення DCT, PNG використовує стиснення LZW, таке саме, що використовується у форматах GIF і TIFF. Найбільша перевага PNG перед JPEG полягає в тому, що стиснення відбувається без втрат, тобто немає втрати якості кожного разу, коли його відкривають і зберігають знову. PNG також добре обробляє деталізовані висококонтрастні зображення. У цій статті ми збираємося обговорити кроки, як конвертувати зображення JPG у формат PNG за допомогою .NET REST API.

API обробки зображень

Aspose.Imaging Cloud є одним із наших провідних продуктів для обробки форматів зображень. Він дає змогу обрізати, перевертати, масштабувати, обертати, шукати, конвертувати та експортувати існуючі формати зображень у Підтримувані формати файлів. Архітектура REST дозволяє розробникам реалізувати різноманітні можливості обробки зображень у своїх хмарних рішеннях. Щоб ще більше полегшити роботу наших клієнтів, ми розробили Aspose.Imaging Cloud SDK для .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

Підхід Visual Studio

Іншим підходом є встановлення безпосередньо в Visual Studio:

  1. Відкрийте провідник рішень.
  2. Розгорніть проект і клацніть правою кнопкою миші папку Packages у своєму рішенні.
  3. Виберіть параметр «Керувати пакетами NuGet…».
  4. Натисніть на вкладку «Огляд» і знайдіть «Aspose.Imaging-Cloud».
  5. Установіть прапорець поруч із пакетом Aspose.Imaging-Cloud, виберіть відповідну версію на правій вкладці та натисніть кнопку «Додати пакет».
Cloud Aspose.Imaging

Зображення 1: - Aspose.Imaging-Cloud як пакет NuGet.

Підписка на Aspose.Cloud

Усі наші API доступні лише авторизованим особам, щоб підтримувати цілісність і конфіденційність даних. Крім того, файли, що зберігаються в хмарному сховищі, пов’язані з обліковим записом, на який ви підписалися через інформаційну панель 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 (спеціальний метод наведено нижче).
// Отримайте 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 Cloud API дає нам доступ до них навіть через термінали командного рядка. Але через обмеження безпеки вам потрібно спочатку згенерувати JSON Web Token (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 у вас виникнуть проблеми або запитання, зв’яжіться через безкоштовний форум підтримки продуктів.

Схожі статті

Ми також рекомендуємо відвідати наступні посилання, щоб дізнатися більше