Joint Photographic Experts Group (JPG/JPEG) và Portable Network Graphics (PNG) là hai định dạng ảnh raster phổ biến đang được sử dụng trên internet. Không giống như JPEG, dựa trên nén DCT, PNG sử dụng nén LZW giống như được sử dụng bởi các định dạng GIF và TIFF. Ưu điểm lớn nhất của PNG so với JPEG là nén không mất dữ liệu, nghĩa là không bị mất chất lượng mỗi lần mở và lưu lại. PNG cũng xử lý tốt các hình ảnh chi tiết, có độ tương phản cao. Trong bài viết này, chúng ta sẽ thảo luận về các bước chuyển đổi ảnh JPG sang định dạng PNG bằng .NET REST API.
API xử lý hình ảnh
Aspose.Imaging Cloud là một trong những sản phẩm hàng đầu của chúng tôi để xử lý định dạng hình ảnh. Nó cho phép bạn cắt, lật, chia tỷ lệ, xoay, tìm kiếm, chuyển đổi & xuất các định dạng hình ảnh hiện có sang Các định dạng tệp được hỗ trợ. Kiến trúc REST cho phép các nhà phát triển triển khai nhiều khả năng hình ảnh khác nhau trong các giải pháp dựa trên đám mây của họ. Để tạo điều kiện thuận lợi hơn nữa cho khách hàng của mình, chúng tôi đã phát triển Aspose.Imaging Cloud SDK cho .NET trên Aspose.Imaging REST API để bạn có được mọi thao tác hình ảnh nâng cao trong các ứng dụng C# .NET của mình.
Cài đặt
Để sử dụng SDK, trước tiên chúng ta cần cài đặt nó trên hệ thống. Nó có sẵn để tải xuống qua NuGet và GitHub. Vui lòng thực hiện lệnh sau trong terminal để cài đặt SDK qua NuGet:
nuget install Aspose.Imaging-Cloud
Hoặc thực hiện lệnh sau trong NuGet Package Manager:
PM> Install-Package Aspose.Imaging-Cloud
Phương pháp tiếp cận Visual Studio
Một cách tiếp cận khác là cài đặt trực tiếp trong Visual Studio:
- Mở Solution Explorer.
- Mở rộng dự án và nhấp chuột phải vào thư mục Packages trong giải pháp của bạn.
- Chọn tùy chọn Quản lý các gói NuGet…
- Nhấp vào tab Browse và tìm kiếm “Aspose.Imaging-Cloud“.
- Nhấp vào hộp kiểm bên cạnh gói Aspose.Imaging-Cloud, chọn phiên bản phù hợp ở tab bên phải và nhấp vào nút Thêm gói.
Đăng ký Aspose.Cloud
Tất cả các API của chúng tôi chỉ có thể được truy cập bởi những người được ủy quyền để duy trì tính toàn vẹn và quyền riêng tư của dữ liệu. Hơn nữa, các tệp được lưu trữ trong bộ nhớ đám mây được liên kết với tài khoản đã đăng ký qua bảng điều khiển Aspose.Cloud. Do đó, bước đầu tiên là tạo một tài khoản đăng ký miễn phí bằng cách truy cập bảng điều khiển Aspose.Cloud. Nếu bạn có tài khoản GitHub hoặc Google, chỉ cần Đăng ký. Nếu không, hãy nhấp vào nút Tạo tài khoản mới và cung cấp thông tin bắt buộc. Bây giờ hãy đăng nhập vào bảng điều khiển bằng thông tin xác thực và mở rộng phần Ứng dụng từ bảng điều khiển và cuộn xuống phần Thông tin xác thực của khách hàng để xem thông tin chi tiết về ID khách hàng và Bí mật khách hàng.
JPG sang PNG trong C#
Vui lòng làm theo các bước dưới đây để thực hiện chuyển đổi định dạng JPG sang PNG trong ứng dụng C# .NET.
- Tạo đối tượng ImagingApi trong khi truyền thông tin chi tiết về Client ID và Client Secret làm đối số
- Thứ hai, đọc hình ảnh JPEG từ ổ đĩa cục bộ và truyền nó làm đối số cho đối tượng UploadFileRequest
- Thứ ba, gọi phương thức UploadFile(…) của ImagingApi để tải tệp lên bộ nhớ đám mây
- Bây giờ hãy tạo một thể hiện của lớp ConvertImageRequest lấy tên hình ảnh và định dạng đầu ra kết quả làm đối số
- Sau đó gọi phương thức ConvertImage(…) của lớp ImagingApi để bắt đầu hoạt động chuyển đổi
- Cuối cùng, lưu đầu ra từ luồng vào ổ đĩa cục bộ bằng File.Create (phương pháp tùy chỉnh được chia sẻ bên dưới).
// Lấy ClientID từ https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";
// tạo một phiên bản của ImagingApi
ImagingApi imagingApi= new ImagingApi( clientSecret,clientID,"https://api.aspose.cloud/");
// đường dẫn của hình ảnh JPEG đầu vào
string imageFile = "jpg-to-png.jpeg";
// định dạng tập tin đầu ra
string format = "png";
// tên tập tin kết quả
string resultantFile = "converted.png";
// tải tập tin từ ổ đĩa cục bộ
using (var file = System.IO.File.OpenRead("/Users/nshahbaz/Desktop/" + imageFile))
{
var uploadFileRequest = new UploadFileRequest(imageFile, file);
// Tải tài liệu gốc lên Cloud Storage
imagingApi.UploadFile(uploadFileRequest);
}
try
{
// Tạo ImageRequest
var request = new ConvertImageRequest(imageFile, format, null, null);
// bắt đầu hoạt động chuyển đổi
Stream updatedImage = imagingApi.ConvertImage(request);
// in thông báo thành công nếu chuyển đổi thành công
if (request != null && request.Equals("OK"))
{
Console.WriteLine("JPG successfully converted to PNG !");
Console.ReadKey();
}
// gọi phương thức để lưu đầu ra trên ổ đĩa hệ thống
saveToDisk(updatedImage, "/Users/nshahbaz/Desktop/"+resultantFile);
}
catch (Exception ex)
{
Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}
// phương pháp tùy chỉnh để lưu đối tượng steam dưới dạng tệp instance
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
lệnh cURL để chuyển đổi JPEG sang PNG
Kiến trúc REST của Cloud API cho phép chúng ta truy cập chúng ngay cả thông qua các thiết bị đầu cuối dòng lệnh. Nhưng do các hạn chế về bảo mật, trước tiên bạn cần tạo một JSON Web Token (JWT) dựa trên thông tin chi tiết ClientID và ClientSecret được lấy từ bảng điều khiển Aspose.Cloud. Vui lòng thực hiện lệnh sau trong thiết bị đầu cuối để tạo mã thông báo 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"
Sau khi có mã thông báo JWT, bước tiếp theo là gọi API ConvertImage để thực hiện thao tác chuyển đổi JPG sang 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
Yêu cầu URL
https://api.aspose.cloud/v3.0/imaging/jpg-to-png.jpeg/convert?format=png
Phần kết luận
Chúng tôi đã khám phá Aspose.Imaging Cloud API để chuyển đổi hình ảnh JPEG sang định dạng PNG. Chúng tôi đã tìm hiểu các quy trình chuyển đổi tệp bằng mã C# .NET cũng như chuyển đổi bằng lệnh cURL. Ngoài ra, xin lưu ý rằng Cloud SDK được phân phối theo giấy phép MIT và mã nguồn đầy đủ của nó có sẵn để tải xuống qua GitHub. Trong trường hợp bạn gặp bất kỳ sự cố nào hoặc có bất kỳ thắc mắc nào khi sử dụng API, vui lòng liên hệ qua Diễn đàn hỗ trợ sản phẩm miễn phí.
Bài viết liên quan
Chúng tôi cũng khuyên bạn nên truy cập các liên kết sau để tìm hiểu thêm về