Scalable Vector Graphics (SVG) định nghĩa đồ họa dựa trên vector cho Web. SVG là định dạng hình ảnh vector dựa trên XML cho đồ họa hai chiều có hỗ trợ tương tác và hoạt hình. Định dạng này phổ biến để hiển thị hình ảnh hai chiều trên internet, nơi hình ảnh có thể mở rộng theo bất kỳ kích thước nào. Nhưng trong trường hợp chúng ta có yêu cầu chuyển đổi SVG sang PNG để nén không mất dữ liệu, không làm mất chi tiết và chất lượng, thì Aspose.Imaging Cloud là giải pháp khả thi.
Bài viết này cung cấp thông tin chi tiết về cách chuyển đổi SVG sang PNG trực tuyến.
API chuyển đổi hình ảnh
Aspose.Imaging Cloud là giải pháp lập trình của chúng tôi cho các yêu cầu xử lý hình ảnh. Bạn có thể thực hiện các thao tác bao gồm thay đổi kích thước, cắt xén, xoay, chia tỷ lệ, lật, tìm kiếm và xuất hình ảnh sang nhiều định dạng được hỗ trợ khác nhau. Để tạo điều kiện thuận lợi hơn cho người dùng, chúng tôi đã tạo ra các SDK dành riêng cho ngôn ngữ lập trình và theo phạm vi của bài viết này, chúng tôi sẽ sử dụng Aspose.Imaging Cloud SDK cho .NET. Bây giờ, vui lòng truy cập liên kết sau để tìm hiểu thêm về Cách cài đặt Aspose.Cloud SDK.
Chuyển đổi SVG sang PNG trong C#
Vui lòng làm theo hướng dẫn bên dưới để chuyển đổi hình ảnh SVG đã có sẵn trên bộ nhớ đám mây sang định dạng PNG.
- Bước đầu tiên là tạo một phiên bản của ImagingApi trong khi truyền thông tin chi tiết ClientID và ClientSecret làm đối số.
- Thứ hai, tải ảnh SVG lên bộ nhớ đám mây bằng phương thức UploadFile(..) của ImagingApi.
- Thứ ba, tạo một thể hiện của lớp ConvertImageRequest trong khi truyền tên SVG đầu vào và định dạng kết quả làm đối số.
- Bây giờ hãy gọi phương thức ConvertImage(..) để thực hiện thao tác chuyển đổi. PNG kết quả được trả về dưới dạng một thể hiện Stream.
- Cuối cùng, hãy gọi phương thức tùy chỉnh bằng File.Create để lưu phiên bản Stream dưới dạng tệp trên ổ đĩa cục bộ.
// Để biết ví dụ đầy đủ, vui lòng truy cập https://github.com/aspose-imaging-cloud/aspose-imaging-cloud-dotnet
// Nhận thông tin xác thực của khách hàng từ https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";
// tạo một đối tượng của DiagramApi
ImagingApi imagingApi = new ImagingApi(clientSecret,clientID, "https://api.aspose.cloud/");
// tên của tệp SVG đầu vào
String inputFileName = "trashloader2.svg";
// định dạng tập tin kết quả
String newFormat = "png";
// tên của tập tin đầu ra
String newFileName = "Converted.png";
try
{
// tải tập tin từ ổ đĩa cục bộ
using (var inputStream = System.IO.File.OpenRead(@"C:\Users\shahbnay\Downloads\" + inputFileName))
{
// tạo yêu cầu tải tệp lên
UploadFileRequest request = new UploadFileRequest(inputFileName, inputStream);
// tải tệp lên bộ nhớ đám mây mặc định
imagingApi.UploadFile(request);
// tạo một phiên bản cho Chuyển đổi hình ảnh
var response = new ConvertImageRequest(inputFileName,newFormat);
// khởi tạo hoạt động chuyển đổi hình ảnh
var responseStream = imagingApi.ConvertImage(response);
// lưu phiên bản luồng dưới dạng tệp trên bộ nhớ cục bộ
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();
}
Để bạn tham khảo, các hình ảnh mẫu được sử dụng trong ví dụ trên có thể được tải xuống từ trashloader2.svg và Converted.png.
SVG sang PNG sử dụng lệnh cURL
Trong phần này, chúng ta sẽ thực hiện chuyển đổi SVG sang PNG bằng lệnh cURL. Bước đầu tiên là tạo mã thông báo truy cập JWT dựa trên thông tin xác thực của khách hàng. Vui lòng thực hiện lệnh sau để tạo một mã thông báo:
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"
Bây giờ hãy thực hiện lệnh cURL sau để chuyển đổi SVG sang PNG, trong đó kết quả được trả về dưới dạng luồng phản hồi và có thể được lưu vào ổ đĩa cục bộ.
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
Trong trường hợp bạn có yêu cầu chuyển đổi hình ảnh SVG được truyền dưới dạng nội dung multipart/form-data không có chỉ mục hoặc dưới dạng luồng nội dung thô.
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
Phần kết luận
Chúng tôi đã thảo luận về khả năng chuyển đổi hình ảnh của Aspose.Imaging Cloud API. Trọng tâm cụ thể là chuyển đổi SVG sang PNG bằng đoạn mã C# .NET. Đồng thời, chúng tôi đã thảo luận về chi tiết cách lưu SVG sang PNG thông qua lệnh cURL. Xin lưu ý rằng API cũng có thể được truy cập thông qua giao diện Swagger và bạn có thể kiểm tra API trong trình duyệt web. Tuy nhiên, Cloud SDK được phát triển theo giấy phép MIT, do đó, bạn có thể tải xuống mã nguồn đầy đủ từ GitHub.
Trong trường hợp bạn gặp bất kỳ vấn đề nào khi sử dụng API hoặc có bất kỳ thắc mắc liên quan nào, vui lòng liên hệ với chúng tôi qua diễn đàn hỗ trợ sản phẩm miễn phí.
Liên kết liên quan
Chúng tôi khuyên bạn nên truy cập vào các liên kết sau để tìm hiểu thêm về: