Thay đổi kích thước hình ảnh bằng cách sử dụng trình thay đổi kích thước hình ảnh Java

Trình chỉnh sửa hình ảnh cung cấp tính năng thay đổi kích thước cho phép bạn thay đổi kích thước hình ảnh theo yêu cầu của bạn. Trong khi thiết kế trình chỉnh sửa hình ảnh hoặc xử lý hình ảnh từ bên trong các ứng dụng Java của bạn, bạn có thể cần phải thay đổi kích thước hình ảnh theo lập trình. Để thực hiện điều đó, bài viết này trình bày cách thay đổi kích thước hình ảnh trong Java. Hơn nữa, bạn cũng sẽ học cách thay đổi kích thước hình ảnh bằng các kỹ thuật thay đổi kích thước khác nhau.

API Java để thay đổi kích thước hình ảnh - Tải xuống miễn phí

Aspose.Imaging for Java là một API xử lý hình ảnh được sử dụng rộng rãi cho phép bạn thao tác hình ảnh khá dễ dàng. Chúng tôi sẽ sử dụng API này để thay đổi kích thước hình ảnh trong bài viết này. Bạn có thể tải xuống API từ phần tải xuống. Ngoài ra, bạn có thể cài đặt nó từ Maven bằng cách sử dụng cấu hình sau trong pom.xml.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging-java</artifactId>
    <version>21.12</version>
    <classifier>jdk16</classifier>
</dependency>

Thay đổi kích thước hình ảnh Raster trong Java

Aspose.Imaging for Java cung cấp hai cách để thay đổi kích thước hình ảnh raster. Một là thay đổi kích thước đơn giản, trong đó bạn cung cấp chiều cao và chiều rộng của hình ảnh kết quả. Trong khi đó, trong phương pháp thứ hai, bạn cũng chỉ định loại thay đổi kích thước cho API biết về kỹ thuật thay đổi kích thước sẽ được sử dụng, chẳng hạn như Lanczos Resampling, Nearest Neighbor Resampling, v.v. Trong các phần sau, chúng ta sẽ thảo luận về cách triển khai từng các phương pháp này để thay đổi kích thước hình ảnh.

Thay đổi kích thước hình ảnh đơn giản trong Java

Trong phương pháp thay đổi kích thước này, bạn chỉ phải cung cấp kích thước của hình ảnh kết quả. Sau đây là các bước để thay đổi kích thước hình ảnh trong Java.

  • Đầu tiên, sử dụng lớp Hình ảnh để tải hình ảnh bạn muốn thay đổi kích thước.
  • Sau đó, gọi phương thức Image.resize (int, int) để thay đổi kích thước hình ảnh.
  • Cuối cùng, lưu hình ảnh kết quả bằng phương thức Image.save (string).

Đoạn mã sau thay đổi kích thước hình ảnh thành chiều cao và chiều rộng được cung cấp.

// Tải hình ảnh
Image image = Image.load("aspose-logo.jpg");

// Xác định các thứ nguyên mới
image.resize(300, 300);

// Lưu hình ảnh
image.save("SimpleResizing_out.jpg");

Thay đổi kích thước hình ảnh Java với một loại cụ thể

Aspose.Imaging for Java cung cấp một loạt các kỹ thuật thay đổi kích thước, được liệt kê tại đây. Bạn có thể chọn một trong những phù hợp với kịch bản của bạn. Ví dụ: Lanczos Resampling được khuyến nghị để thay đổi kích thước hình ảnh chất lượng, tuy nhiên, nó hoạt động chậm hơn. Tuy nhiên, để thay đổi kích thước nhanh Nearest Neighbor Resampling được sử dụng, tuy nhiên, nó làm giảm chất lượng của hình ảnh. Sau đây là các bước để thay đổi kích thước hình ảnh bằng kỹ thuật thay đổi kích thước cụ thể.

  • Đầu tiên, sử dụng lớp Hình ảnh để tải hình ảnh bạn muốn thay đổi kích thước.
  • Sau đó, gọi phương thức Image.resize (int, int, ResizeType) để thay đổi kích thước hình ảnh bằng một kỹ thuật cụ thể.
  • Cuối cùng, lưu hình ảnh kết quả bằng phương thức Image.save (string).

Mẫu mã sau đây cho thấy cách thay đổi kích thước hình ảnh bằng kỹ thuật thay đổi kích thước cụ thể.

// Tải hình ảnh
Image image = Image.load("aspose-logo.jpg");

// Xác định thứ nguyên mới và loại thay đổi kích thước
image.resize(300, 300, ResizeType.LanczosResample);

// Lưu hình ảnh
image.save("SimpleResizing_out.jpg");

Thay đổi kích thước hình ảnh theo tỷ lệ trong Java

Tỷ lệ khung hình được tính toán trong khi thay đổi kích thước hình ảnh để tránh hình ảnh kết quả bị thu nhỏ hoặc thu nhỏ. Tuy nhiên, bất kỳ tính toán sai tỷ lệ cỡ ảnh nào cũng có thể khiến hình ảnh bị kéo giãn. Để loại bỏ các vấn đề như vậy, bạn có thể để API tự xử lý tỷ lệ khung hình. Sau đây là các bước để thay đổi kích thước hình ảnh theo tỷ lệ.

Bạn cũng có thể chỉ định một loại thay đổi kích thước cụ thể trong khi thay đổi kích thước hình ảnh theo tỷ lệ bằng cách sử dụng phương thức quá tải Image.resizeWidthProportionally (int, ResizeType)Image.resizeHeightProportionally (int, ResizeType).

Mẫu mã Java sau đây cho thấy cách thay đổi kích thước hình ảnh theo tỷ lệ.

// Tải hình ảnh
Image image = Image.load("aspose-logo.jpg");

// Xác định các thứ nguyên mới
int newWidth = image.getWidth() / 2;
image.resizeWidthProportionally(newWidth);
int newHeight = image.getHeight() / 2;
image.resizeHeightProportionally(newHeight);

// Lưu hình ảnh
image.save("SimpleResizing_out.jpg");

Thay đổi kích thước hình ảnh vectơ trong Java

Bạn cũng có thể thay đổi kích thước hình ảnh vectơ và lưu nó thành định dạng hình ảnh raster như PNG, JPEG, GIF, v.v. Đoạn mã sau minh họa cách đạt được điều đó trong Java bằng cách sử dụng Aspose.Imaging.

// Tải hình ảnh vectơ
try (Image image = Image.load("image.svg"))
{
  	// Xác định các thứ nguyên mới
	image.resize(image.getWidth() * 10,image.getHeight() * 15);
  
  	// Lưu hình ảnh dưới dạng PNG
	image.save("Logotype_10_15.png", new PngOptions());
}

API thay đổi kích thước hình ảnh Java - Nhận giấy phép miễn phí

Bạn có thể sử dụng Aspose.Imaging for Java và thay đổi kích thước hình ảnh mà không bị giới hạn đánh giá bằng cách nhận giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài này, bạn đã học cách thay đổi kích thước hình ảnh trong Java. Hơn nữa, bài viết đã đề cập đến cách thay đổi kích thước hình ảnh bằng các kỹ thuật khác nhau như Lanczos Resampling, Nearest Neighbor Resampling, v.v. Ngoài ra, việc thay đổi kích thước hình ảnh theo tỷ lệ và thay đổi kích thước hình ảnh vector trong Java cũng được thảo luận. Bạn có thể truy cập tài liệu để đọc thêm về API xử lý ảnh Java. Ngoài ra, bạn có thể học từ các mẫu mã nguồn có sẵn trên GitHub. Trong trường hợp có bất kỳ câu hỏi nào, bạn có thể liên hệ với chúng tôi tại diễn đàn của chúng tôi.

Xem thêm