WebP là định dạng hình ảnh hiện đại phổ biến cung cấp khả năng nén không mất dữ liệu và không mất dữ liệu vượt trội cho hình ảnh trên web. Định dạng hình ảnh này do Google phát triển và nhằm mục đích thay thế cho các định dạng tệp JPEG, PNG và GIF. Nó hỗ trợ cả nén mất dữ liệu và không mất dữ liệu, cũng như hoạt ảnh và độ trong suốt alpha. Chúng cũng phổ biến vì tệp WebP thường nhỏ hơn nhiều so với JPEG truyền thống và do đó các trang web tải nhanh hơn và mang lại cho người dùng trải nghiệm tốt hơn. Tuy nhiên, nhiều hệ thống thông thường vẫn yêu cầu định dạng hình ảnh raster cho mục đích lưu trữ và xử lý, do đó, chúng tôi có yêu cầu thực hiện chuyển đổi hàng loạt WebP sang JPG. Vì vậy, trong bài viết này, chúng ta sẽ thảo luận chi tiết về cách lập trình chuyển đổi các định dạng WebP sang JPG, WebP sang PNG và WebP sang GIF.
- API WebP sang JPG REST
- Chuyển đổi WebP sang JPEG trong Java
- WebP sang PNG trong Java
- WebP sang GIF bằng Lệnh cURL
API WebP sang JPG REST
Giải pháp dựa trên REST của chúng tôi Aspose.Imaging Cloud SDK for Java là một API chuyển đổi hình ảnh và xử lý hình ảnh đáng tin cậy. Với sự trợ giúp của API này, bạn có thể triển khai các khả năng xử lý hình ảnh (chỉnh sửa và biến đổi) trong ứng dụng của mình. Nó hỗ trợ hình ảnh raster, tệp Photoshop, Siêu tệp và các định dạng khác như định dạng WebP. Vì vậy, theo phạm vi của bài viết này, chúng tôi sẽ sử dụng API này để chuyển đổi WebP sang JPEG. Bây giờ để bắt đầu sử dụng SDK, chúng tôi cần thêm tài liệu tham khảo của nó vào dự án java của mình bằng cách đưa thông tin sau vào pom.xml (dự án kiểu xây dựng maven).
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
Sau khi tham chiếu API REST đã được thêm vào dự án Java, vui lòng lấy thông tin đăng nhập ứng dụng khách của bạn từ Bảng điều khiển đám mây. Nếu không, trước tiên bạn cần đăng ký một tài khoản miễn phí trong khi sử dụng địa chỉ email hợp lệ.
Chuyển đổi WebP sang JPEG trong Java
Hãy thảo luận chi tiết về cách tải và chuyển đổi định dạng WebP sang JPG bằng đoạn mã Java.
- Đầu tiên, tạo một đối tượng của ImagingApi bằng thông tin đăng nhập được cá nhân hóa
- Thứ hai, tải hình ảnh WebP bằng phương thức readAllBytes(…) và truyền vào mảng byte[]
- Thứ ba, tạo một phiên bản của UploadFileRequest bằng cách cung cấp hình ảnh WebP làm đối số và tải nó lên bộ nhớ đám mây bằng phương thức uploadFile(…)
- Bây giờ hãy tạo một đối tượng ConvertImageRequest lấy tên hình ảnh WebP và định dạng JPG làm đối số
- Gọi phương thức convertImage(…) để chuyển định dạng WebP sang JPEG. Đầu ra được trả về dưới dạng luồng phản hồi
- Cuối cùng, lưu JPG kết quả vào ổ đĩa cục bộ bằng đối tượng FileOutputStream
// Nhận ClientID và ClientSecret từ https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// tạo đối tượng hình ảnh
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// tải hình ảnh WebP từ ổ đĩa cục bộ
File file1 = new File("WEBPSampleImage.webp");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// tạo đối tượng yêu cầu tải tệp lên
UploadFileRequest uploadRequest = new UploadFileRequest("source.webp",imageStream,null);
// tải hình ảnh WebP lên bộ nhớ Đám mây
imageApi.uploadFile(uploadRequest);
// chỉ định định dạng đầu ra là JPEG
String format = "jpg";
// Tạo đối tượng yêu cầu chuyển đổi hình ảnh
ConvertImageRequest convertImage = new ConvertImageRequest("source.webp", format, null, null);
// chuyển đổi WebP thành JPEG và trả về đầu ra trong luồng phản hồi
byte[] resultantImage = imageApi.convertImage(convertImage);
// Lưu JPG kết quả vào ổ đĩa cục bộ
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.jpg");
fos.write(resultantImage);
fos.close();
Có thể tải xuống hình ảnh WebP mẫu được sử dụng trong ví dụ trên từ WEBPSampleImage.webp và đầu ra từ Converted.jpg.
WebP sang PNG trong Java
Phần này thảo luận chi tiết về cách chuyển đổi định dạng WebP sang PNG mà không cần sử dụng bộ nhớ Đám mây.
- Đầu tiên, tạo một đối tượng của ImagingApi bằng thông tin xác thực được cá nhân hóa
- Thứ hai, tải hình ảnh WebP bằng phương thức readAllBytes(…) và truyền vào mảng byte[]
- Thứ ba, tạo một đối tượng CreateConvertedImageRequest lấy tên hình ảnh WebP và định dạng pNG làm đối số.
- Bây giờ gọi phương thức createConvertedImage(…) để chuyển đổi WebP sang PNG. Đầu ra được trả về dưới dạng luồng phản hồi
- Cuối cùng, lưu PNG kết quả vào ổ đĩa cục bộ bằng đối tượng FileOutputStream
// Nhận ClientID và ClientSecret từ https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// tạo đối tượng hình ảnh
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// tải hình ảnh WebP từ ổ đĩa cục bộ
File file1 = new File("WEBPSampleImage.webp");
byte[] imageStream = Files.readAllBytes(file1.toPath());
// chỉ định định dạng đầu ra là PNG
String format = "png";
// Tạo đối tượng yêu cầu chuyển đổi hình ảnh
CreateConvertedImageRequest convertRequest = new CreateConvertedImageRequest(imageStream,format,null,null);
// chuyển đổi WebP thành PNG và trả về đầu ra trong luồng phản hồi
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);
// Lưu PNG kết quả vào ổ đĩa cục bộ
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "Converted.png");
fos.write(resultantImage);
fos.close();
Lưu ý: - Nếu chúng tôi cần lưu PNG kết quả trên bộ nhớ đám mây, hãy chuyển chi tiết đường dẫn PNG trong khi tạo đối tượng CreateConvertedImageRequest. Theo cách tiếp cận này, bước cuối cùng để lưu trữ luồng đầu ra vào ổ đĩa cục bộ sẽ bị bỏ qua.
WebP sang GIF bằng Lệnh cURL
API REST cũng có thể được truy cập thông qua các lệnh cURL, vì vậy trong phần này, chúng tôi sẽ thực hiện chuyển đổi WebP sang GIF bằng các lệnh cURL. Bây giờ, điều kiện tiên quyết 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) bằng cách sử dụng lệnh sau.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Sau khi JWT đã được tạo, vui lòng thực hiện lệnh sau để thực hiện chuyển đổi WebP sang GIF.
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/WEBPSampleImage.webp/convert?format=GIF" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o "Converted,gif"
Phần kết luận
Bài viết này đã giải thích tất cả các chi tiết cần thiết về cách chuyển đổi WebP thành JPEG, WebP thành PNG và cách thực hiện chuyển đổi WebP thành GIF bằng API REST. Chúng ta đã học các bước để chuyển đổi WebP thành JPG hoặc chuyển đổi webp thành gif bằng các lệnh cURL theo chương trình. Chúng tôi đặc biệt khuyến khích bạn khám phá Tài liệu sản phẩm, đây là một nguồn thông tin tuyệt vời để tìm hiểu về các tính năng thú vị khác do API cung cấp.
Bạn cũng có thể cân nhắc thử nghiệm các tính năng API thông qua SwaggerUI trong trình duyệt web và trong trường hợp bạn cần tải xuống và sửa đổi mã nguồn của Cloud SDK, mã này có sẵn trên GitHub (được xuất bản theo giấy phép MIT) . Cuối cùng, trong trường hợp bạn gặp phải bất kỳ sự cố nào khi sử dụng API, bạn có thể cân nhắc liên hệ với chúng tôi để được giải quyết nhanh chóng thông qua [diễn đàn hỗ trợ sản phẩm] miễn phí]9.
Những bài viết liên quan
Vui lòng truy cập các liên kết sau để tìm hiểu thêm về: