jpg sang webp

Chuyển đổi jpg sang webp trong Java

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng Java để chuyển đổi các định dạng hình ảnh JPG, PNG, JPEGGIF sang WebP. Quá trình này đơn giản và dễ hiểu và có thể dễ dàng tích hợp vào ứng dụng Java hiện có của bạn. Cho dù bạn cần chuyển đổi một hình ảnh hay xử lý hàng loạt nhiều hình ảnh, hướng dẫn của chúng tôi giúp bạn dễ dàng chuyển đổi JPG sang WebP, PNG sang WebP, JPEG sang WebP và GIF sang WebP một cách dễ dàng.

Chúng tôi biết rằng hình ảnh JPEG có khả năng nén cao, khá di động và tương thích với hầu hết mọi thiết bị. Ngoài ra, hình ảnh JPEG có độ phân giải cao rất rực rỡ và đầy màu sắc. Tương tự như vậy, quá trình nén ở định dạng PNG không mất dữ liệu và rất tốt cho các hình ảnh chi tiết, có độ tương phản cao. Tuy nhiên, định dạng WebP do Google phát triển và 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. Nó thường nhỏ hơn nhiều (25% -34%) so với JPG, PNG, v.v. và do đó các trang web tải nhanh hơn. Bây giờ, hãy khám phá chi tiết về Cách chuyển đổi JPG sang WebP trong Java.

API REST sang JPG sang WebP

Aspose.Imaging Cloud SDK cho Java là một trong những giải pháp tốt nhất của chúng tôi cung cấp khả năng xử lý hình ảnh và chuyển đổi hình ảnh đáng tin cậy. Cung cấp khả năng xử lý hình ảnh (chỉnh sửa và biến đổi) trong ứng dụng Java của bạn bằng các dòng mã đơn giản. API có khả năng xử lý hình ảnh raster, tệp Photoshop, siêu tệp và định dạng WebP. Bây giờ theo phạm vi của bài viết này, chúng tôi sẽ sử dụng nó để chuyển đổi jpg thành webp trong ứng dụng Java. Bây giờ, bước đầu tiên là thêm tham chiếu API vào dự án java của chúng tôi 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 JPG sang WebP trong Java

Trong phần này, chúng ta sẽ thảo luận về tất cả các chi tiết liên quan đến chuyển đổi JPG sang WebP bằng cách sử dụ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 JPG bằng phương thức readAllBytes(…) và chuyển giá trị trả về cho 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 JPEG 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 JPEG và định dạng ‘webp’ làm đối số
  • Gọi phương thức convertImage(…) để thực hiện chuyển đổi JPG sang WebP. Đầu ra sau đó được trả về dưới dạng luồng phản hồi
  • Cuối cùng, lưu WebP 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 JPEG đầu vào từ ổ đĩa cục bộ
File file1 = new File("butterfly-yellow.jpeg");
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("input.jpg",imageStream,null);
// tải hình ảnh jpg lên bộ nhớ đám mây
imageApi.uploadFile(uploadRequest);

// chỉ định định dạng đầu ra là WebP
String format = "webp";

// Tạo đối tượng yêu cầu chuyển đổi hình ảnh
ConvertImageRequest convertImage = new ConvertImageRequest("input.jpg", format, null, null);
// chuyển đổi JPG sang WebP và trả về đầu ra trong luồng phản hồi
byte[] resultantImage = imageApi.convertImage(convertImage);

// Lưu kết quả WebP vào ổ đĩa cục bộ
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();
jpg sang webp

Hình ảnh:- Xem trước chuyển đổi JPG sang WebP

PNG sang WebP trong Java

Hãy thảo luận chi tiết về cách chúng tôi có thể thực hiện chuyển đổi PNG sang WebP mà không cần sử dụng bộ nhớ Đám mây. Hình ảnh nguồn được tải từ ổ đĩa cục bộ và sau khi chuyển đổi, tệp kết quả cũng được lưu trữ trên ổ cứng cục bộ.

  • Đầ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 PNG 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 PNG và định dạng webp làm đối số.
  • Bây giờ hãy gọi phương thức createConvertedImage(…) để thực hiện chuyển đổi PNG sang WebP. Đầu ra được trả về dưới dạng luồng phản hồi
  • Cuối cùng, lưu kết quả WenP 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 PNG từ ổ đĩa cục bộ
File file1 = new File("source.png");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// chỉ định định dạng đầu ra là WebP
String format = "webp";

// 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 PNG sang WebP và trả về đầu ra trong luồng phản hồi
byte[] resultantImage = imageApi.createConvertedImage(convertRequest);

// Lưu kết quả WebP vào ổ đĩa cục bộ
FileOutputStream fos = new FileOutputStream("/Users/nayyer/Documents/" + "output.webp");
fos.write(resultantImage);
fos.close();

Lưu ý: - Để lưu WebP kết quả trên bộ nhớ đám mây, hãy chuyển chi tiết đường dẫn WebP 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.

GIF sang WebP bằng lệnh cURL

Khác với mã Java, 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 ta sẽ thực hiện chuyển đổi GIF sang WebP 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"

Khi JWT đã được tạo, vui lòng thực hiện lệnh sau để thực hiện chuyển đổi GIF sang WebP và lưu đầu ra vào ổ đĩa cục bộ

curl -X -v GET "https://api.aspose.cloud/v3.0/imaging/UpdateGIFSampleImage.gif/convert?format=webp" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT>" \
-o "output.webp"

Phần kết luận

Bài viết đã cung cấp tất cả các chi tiết cần thiết về chuyển đổi JPG sang WebP, PNG sang WebP và GIF sang WebP bằng Java. Đồng thời, chúng ta cũng đã tìm hiểu các bước chuyển đổi GIF sang WebP bằng lệnh cURL. Xin lưu ý rằng chúng tôi rấ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. Nó sẽ khai sáng cho bạn về các tính năng thú vị khác hiện đang được cung cấp bởi REST API.

Ngoài ra, 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, bạn có thể truy cập mã nguồn từ GitHub (mã nguồn đã xuất bản theo giấy phép MIT). Cuối cùng, nếu bạn gặp phải bất kỳ sự cố nào trong khi sử dụng API, vui lòng liên hệ với chúng tôi để được giải quyết nhanh chó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ề: