Lật hình ảnh trong Java

Lật hình ảnh thường được liệt kê trong số các tính năng chính của trình chỉnh sửa hình ảnh. Trong khi làm việc với hình ảnh hoặc tạo trình chỉnh sửa hình ảnh của riêng bạn trong Java, bạn có thể cần thực hiện lật hình ảnh theo chiều ngang và chiều dọc. Để đạt được điều đó, bài viết này chỉ ra cách lật ảnh theo chương trình trong Java. Chúng tôi cũng sẽ trình bày cách lật và xoay hình ảnh cùng một lúc.

Java API để lật hình ảnh - Tải xuống miễn phí

Aspose.Imaging for Java là một API xử lý hình ảnh cho phép bạn thao tác trên nhiều định dạng hình ảnh. API giúp bạn thao tác hình ảnh dễ dàng hơn mà không cần viết nhiều mã. Bạn có thể tải xuống API hoặc cài đặt nó vào các ứng dụng Java của mình bằng cách sử dụng các cấu hình Maven sau.

<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>

Các bước để lật một hình ảnh trong Java

Một hình ảnh có thể được lật theo chiều ngang, chiều dọc hoặc theo cả hai hướng cùng một lúc. Aspose.Imaging for Java đơn giản hóa việc lật hình ảnh theo một trong hai hướng. Enum RotateFlipType được sử dụng để chỉ định kiểu lật (và / hoặc góc xoay). Bạn có thể thực hiện một trong các thao tác lật sau trên hình ảnh:

  • Lật một hình ảnh
  • Lật và xoay hình ảnh cùng một lúc

Sau đây là các bước để lật một hình ảnh trong Java.

  • Tải hình ảnh từ đĩa.
  • Lật hình ảnh theo hướng mong muốn.
  • Lưu hình ảnh cập nhật trên đĩa.

Chúng ta hãy xem cách chuyển các bước nêu trên thành mã và lật một hình ảnh trong Java.

Lật một hình ảnh trong Java

Để lật hình ảnh, các giá trị RotateFlipType sau được sử dụng.

  • RotateNoneFlipX: Không xoay với lật ngang
  • RotateNoneFlipY: Không xoay với lật dọc
  • RotateNoneFlipXY: Không xoay với lật ngang và lật dọc

Sau đây là các bước để lật một hình ảnh trong Java.

Mẫu mã sau đây cho thấy cách thực hiện lật ảnh trong Java.

// Tải hình ảnh
RasterImage image = (RasterImage) Image.load("image.bmp");

// Lật hình ảnh
image.rotateFlip(RotateFlipType.RotateNoneFlipX);

// Lưu hình ảnh
image.save("rotated-image.bmp");

Sau đây là hình ảnh đầu vào và hình ảnh lật kết quả.

Lật một hình ảnh trong Java

Lật hình ảnh

Lật hình ảnh bằng tính năng xoay trong Java

Trong phần trước, bạn đã xem cách lật ảnh mà không cần xoay. Tuy nhiên, trong một số trường hợp, bạn phải thực hiện cả hai thao tác cùng một lúc. Để đạt được điều này, các giá trị RotateFlipType sau được sử dụng.

  • Rotate180FlipX: xoay 180 độ với lật ngang
  • Rotate180FlipXY: xoay 180 độ với lật ngang và dọc
  • Rotate180FlipY: xoay 180 độ với lật dọc
  • Rotate270FlipX: xoay 270 độ với lật ngang
  • Rotate270FlipXY: xoay 270 độ với lật ngang và lật dọc
  • Rotate270FlipY: xoay 270 độ với lật dọc
  • Rotate90FlipX: xoay 90 độ với lật ngang
  • Rotate90FlipXY: xoay 90 độ với lật ngang và lật dọc
  • Rotate90FlipY: xoay 90 độ với lật dọc

Sau đây là các bước để xoay và lật một hình ảnh cùng một lúc trong Java.

Đoạn mã sau đây cho biết cách thực hiện xoay và lật hình ảnh cùng một lúc trong Java.

// Tải hình ảnh
RasterImage image = (RasterImage) Image.load("image.bmp");

// Xoay và lật hình ảnh
image.rotateFlip(RotateFlipType.Rotate180FlipX);

// Lưu hình ảnh
image.save("rotated-image.bmp");

Sau đây là hình ảnh kết quả (bên phải) mà chúng tôi nhận được sau khi áp dụng xoay và lật.

Xoay và lật một hình ảnh trong Java

Xoay và lật một hình ảnh

Java Image Flipping API - Nhận Giấy phép Miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để lật ảnh mà không bị giới hạn đánh giá.

Sự kết luận

Trong bài này, bạn đã học cách lật ảnh trong Java. Hơn nữa, bạn đã thấy cách xoay và lật một hình ảnh cùng một lúc theo lập trình. Trong trường hợp bạn muốn khám phá thêm về API xử lý ảnh Java, hãy truy cập tài liệu. Ngoài ra, bạn có thể tải xuống các mẫu mã nguồn của API từ 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