Cuộc sống cá nhân đến chính thức của chúng tôi được bao phủ bởi các hình ảnh raster. Trong khi sử dụng điện thoại di động, máy quét, thiết bị hình ảnh và nhiều loại máy ảnh khác được sử dụng trong nhiều loại thiết bị, chúng tôi tạo ra một lượng dữ liệu khổng lồ dưới dạng hình ảnh. Giờ đây, tùy thuộc vào thuật toán nén, mọi thiết bị đều tạo ra hình ảnh ở các kích thước cũng như kích thước khác nhau. Nhưng trong trường hợp chúng tôi có yêu cầu lưu trữ hình ảnh (JPG, PNG, GIF, TIFF, v.v.) ở các kích thước thống nhất, vì vậy chúng tôi cần thay đổi kích thước hình ảnh. Chúng tôi có rất nhiều ứng dụng thay đổi kích thước ảnh có sẵn trên thị trường nhưng trong trường hợp chúng tôi cần thay đổi kích thước hình ảnh trực tuyến hàng loạt, giải pháp có lập trình luôn là một cách tiếp cận khả thi. Do đó, trong bài viết này, chúng ta sẽ thảo luận chi tiết/các bước về cách phát triển trình thay đổi kích thước ảnh bằng Java Cloud SDK.
- API thay đổi kích thước hình ảnh
- Thay đổi kích thước hình ảnh trong Java
- Thay đổi kích thước GIF bằng lệnh cURL
API thay đổi kích thước hình ảnh
Để thay đổi kích thước Hình ảnh, chúng ta sẽ sử dụng Aspose.Imaging Cloud SDK for Java. Nhờ kiến trúc dựa trên REST của nó, chúng tôi có thể truy cập API trên bất kỳ nền tảng nào và phát triển trình thay đổi kích thước ảnh. Ngoài tính năng thay đổi kích thước hình ảnh trực tuyến, nó còn cho phép bạn tạo, chỉnh sửa và chuyển đổi các tệp hình ảnh sang nhiều định dạng tệp được hỗ trợ. Bây giờ để bắt đầu, chúng ta cần thêm tham chiếu của nó vào dự án java 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>
Trong trường hợp bạn không có tài khoản trên Aspose Cloud Dashboard, vui lòng tạo một tài khoản miễn phí thông qua địa chỉ email hợp lệ. Bây giờ hãy đăng nhập bằng tài khoản mới tạo và tra cứu/tạo Client ID và Client Secret tại Cloud Dashboard. Những chi tiết này được yêu cầu cho mục đích xác thực trong các phần sau.
Thay đổi kích thước hình ảnh trong Java
Phần này giải thích các bước về cách thay đổi kích thước hình ảnh PNG. API dự kiến sẽ tải hình ảnh từ ổ đĩa cục bộ mà chúng tôi cần chuyển trực tiếp hình ảnh vào phần thân yêu cầu. Sau khi thao tác thay đổi kích thước png, chúng ta có thể lưu hình ảnh đã cập nhật trên Bộ lưu trữ đám mây bằng cách chỉ định giá trị tham số outPath. Tuy nhiên, nếu chúng tôi không chỉ định giá trị, phản hồi sẽ chứa hình ảnh được truyền phát.
- Tạo một phiên bản ImagingApi dựa trên thông tin xác thực của khách hàng được cá nhân hóa
- Đọc tệp PNG từ thư mục cục bộ bằng đối tượng Tệp
- Tạo đối tượng byte[] và đọc tất cả các byte từ tệp bằng phương thức readAllBytes(…)
- Chỉ định kích thước hình ảnh mới bằng cách sử dụng các đối tượng Số nguyên
- Bây giờ, hãy tạo một phiên bản của CreateResizedImageRequest nơi chúng tôi chỉ định tên cho hình ảnh kết quả
- Cuối cùng thay đổi kích thước hình ảnh bằng phương thức createResizeImage(…)
// Nhận ClientID và ClientSecret từ https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// tạo đối tượng hình ảnh
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// tải tập tin từ ổ đĩa cục bộ
File f = new File("PinClipart.png");
// đọc nội dung của hình ảnh PNG thành mảng byte
byte[] bytes = Files.readAllBytes(f.toPath());
// kích thước mới cho hình ảnh kết quả
int newWidth = 150;
int newHeight = 150;
// tạo yêu cầu thay đổi kích thước hình ảnh trong khi chỉ định tên hình ảnh kết quả
CreateResizedImageRequest resizeRequest = new CreateResizedImageRequest(bytes, newWidth, newHeight, null, "Updated.png", null);
// thay đổi kích thước hình ảnh trực tuyến và lưu đầu ra trong bộ nhớ đám mây
imageApi.createResizedImage(resizeRequest);
Thay đổi kích thước GIF bằng lệnh cURL
Trong quá trình thay đổi kích thước hình ảnh, chúng tôi cũng có thể chỉ định định dạng cập nhật cho hình ảnh. Vì vậy, trong phần này, chúng ta sẽ thay đổi kích thước GIF và lưu đầu ra ở định dạng JPG bằng các lệnh cURL. Vì vậy, như một điều kiện tiên quyết, trước tiên chúng ta cần tạo mã thông báo truy cập JWT (dựa trên thông tin đăng nhập của khách hàng) trong khi thực hiện 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 mã thông báo JWT đã được tạo, vui lòng gọi API ResizeImage để thay đổi kích thước hình ảnh và lưu đầu ra ở định dạng JPG trên ổ đĩa cục bộ (tham số định dạng tệp kết quả là tùy chọn).
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/winter.gif/resize?newWidth=200&newHeight=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o "resultant.jpg"
Có thể tải xuống hình ảnh GIF nguồn từ winter.gif và hình ảnh kết quả từ resultant.jpg.
Phần kết luận
Chúng tôi đã học được một cách tiếp cận tuyệt vời để thay đổi kích thước hình ảnh trực tuyến bằng cách sử dụng đoạn mã Java. Nó cũng giúp chúng tôi hiểu chi tiết về cách thay đổi kích thước hình ảnh mà không làm giảm chất lượng bằng các lệnh cURL. Xin lưu ý rằng bạn cũng có thể khám phá các khả năng của API trong trình duyệt web khi sử dụng Tham khảo API swagger. Giờ đây, ngoài các khả năng của Trình chỉnh lại kích thước hình ảnh, bạn có thể khám phá và tìm hiểu về các tính năng thú vị khác của API từ Tài liệu sản phẩm. Tuy nhiên, tất cả SDK đám mây của chúng tôi đều được xuất bản theo giấy phép MIT, vì vậy bạn có thể cân nhắc tải xuống mã nguồn hoàn chỉnh từ GitHub (bạn có thể sửa đổi mã nguồn này theo yêu cầu của mình). 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, 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ề: