Масштабована векторна графіка (SVG) визначає векторну графіку для Інтернету. SVG — це формат векторних зображень на основі XML для двовимірної графіки з підтримкою інтерактивності та анімації. Цей формат популярний для відтворення двовимірних зображень в Інтернеті, де зображення можна масштабувати до будь-якого розміру. Але якщо у нас є вимога конвертувати SVG у PNG для стиснення без втрат, де не втрачається деталізація та якість, тоді Aspose.Imaging Cloud є життєздатним рішенням.
У цій статті описано, як конвертувати SVG у PNG онлайн.
API перетворення зображень
Aspose.Imaging Cloud — це наше рішення для програмування, яке відповідає вимогам обробки зображень. Ви можете виконувати операції, включаючи зміну розміру, обрізання, обертання, масштабування, перевертання, пошук і експорт зображень у різні підтримувані формати. Щоб ще більше полегшити роботу наших користувачів, ми створили пакети SDK для окремих мов програмування, і відповідно до змісту цієї статті ми будемо використовувати Aspose.Imaging Cloud SDK для .NET. Тепер, будь ласка, перейдіть за наведеним нижче посиланням, щоб дізнатися більше про Як інсталювати Aspose.Cloud SDKs.
Перетворення SVG на PNG у C#
Будь ласка, дотримуйтеся наведених нижче інструкцій, щоб перетворити зображення SVG, яке вже є в хмарному сховищі, у формат PNG.
- Першим кроком є створення екземпляра ImagingApi, передаючи дані ClientID і ClientSecret як аргументи.
- По-друге, завантажте зображення SVG у хмарне сховище за допомогою методу UploadFile(..) ImagingApi.
- По-третє, створіть екземпляр класу ConvertImageRequest, передаючи назву вхідного SVG і результуючого формату як аргументи.
- Тепер викличте метод ConvertImage(..), щоб виконати операцію перетворення. Отриманий PNG повертається як екземпляр потоку.
- Нарешті, викличте спеціальний метод за допомогою File.Create, щоб зберегти екземпляр Stream як файл на локальному диску.
// Щоб отримати повні приклади, відвідайте https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
// Отримайте облікові дані клієнта з https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// створити об’єкт DiagramApi
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");
// ім'я вхідного файлу SVG
String inputFileName = "trashloader2.svg";
// результуючий формат файлу
String newFormat = "png";
// ім'я вихідного файлу
String newFileName = "Converted.png";
try
{
// завантажити файл з локального диска
using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
{
// створити запит на завантаження файлу
UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
// завантажити файл у хмарне сховище за умовчанням
imagingApi.UploadFile(request);
// створити екземпляр для перетворення зображень
var response = new ConvertImageRequest(inputFileName,newFormat);
// ініціювати операцію перетворення зображення
var responseStream = imagingApi.ConvertImage(response);
// зберегти екземпляр потоку як файл у локальному сховищі
saveToDisk(responseStream, @"C:\Users\shahbnay\Downloads\" + newFileName);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
Для довідки зразки зображень, використані у прикладі вище, можна завантажити з trashloader2.svg і Converted.png.
SVG у PNG за допомогою команд cURL
У цьому розділі ми збираємося виконати перетворення SVG у PNG за допомогою команд cURL. Першим кроком є створення маркера доступу 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"
Тепер виконайте таку команду cURL, щоб перетворити SVG у PNG, де результат повертається як потік відповіді та може бути збережений на локальному диску.
curl -X GET "https://api.aspose.cloud/v3.0/imaging/trashloader2.svg/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o Converted.png
Якщо у вас є вимога конвертувати зображення SVG, передане як вміст із складеними частинами/даними форми з нульовим індексом або як необроблений основний потік.
curl -X POST "https://api.aspose.cloud/v3.0/imaging/convert?format=png" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: multipart/form-data" \
-d {"imageData":{}} \
-o Converted.png
Висновок
Ми обговорили можливості перетворення зображень Aspose.Imaging Cloud API. Особливу увагу було приділено перетворенню SVG у PNG за допомогою фрагмента коду C# .NET. Водночас ми обговорили деталі того, як зберегти SVG у PNG за допомогою команд cURL. Зауважте, що до API також можна отримати доступ через інтерфейс Swagger, і ви можете протестувати API у веб-браузері. Незважаючи на це, Cloud SDK розробляються за ліцензією MIT, тому повний вихідний код можна завантажити з GitHub.
Якщо у вас виникнуть проблеми під час використання API або пов’язані запитання, будь ласка, зв’яжіться з нами через безкоштовний форум підтримки продуктів.
Пов’язані посилання
Ми рекомендуємо відвідати такі посилання, щоб дізнатися більше про: