Поворот изображений в Java

Вам, как программисту, часто может понадобиться манипулировать изображениями из ваших Java-приложений. Манипуляции с изображением и редактирование могут также включать поворот изображения под определенным углом. Для этого в этой статье показано, как программно повернуть изображение в Java. Кроме того, мы покажем, как одновременно поворачивать и отражать изображение.

Java API для поворота изображений — скачать бесплатно

Aspose.Imaging for Java — это API для обработки изображений, который позволяет работать с широким спектром форматов изображений. API значительно упрощает работу с изображениями без написания большого количества кода. Мы будем использовать этот API для вращения изображений. Вы можете загрузить API или установить его в свои Java-приложения, используя следующие конфигурации Maven.

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

Шаги для поворота изображения в Java

Вы можете повернуть изображение либо под определенным углом, либо под стандартными углами поворота, такими как 90, 180 и 270 градусов. Перечисление RotateFlipType используется для указания угла поворота (и/или типа отражения). Вы можете выполнить одну из следующих операций поворота изображения:

  • Повернуть изображение
  • Поворачивайте и переворачивайте изображение одновременно

Ниже приведены шаги для поворота изображения.

  • Загрузите образ с диска.
  • Укажите угол поворота и поверните изображение.
  • Сохраните повернутое изображение.

Давайте теперь посмотрим, как повернуть изображение с помощью Java.

Повернуть изображение в Java

Чтобы повернуть изображение, вы можете выбрать одно из следующих значений перечисления RotateFlipType.

  • Rotate180FlipNone: поворот на 180 градусов без отражения
  • Rotate270FlipNone: вращение на 270 градусов без отражения
  • Rotate90FlipNone: поворот на 90 градусов без отражения

Давайте посмотрим, как повернуть изображение на 270 градусов в Java.

  • Во-первых, используйте класс Image для загрузки изображения.
  • Затем используйте метод Image.rotateFlip(RotateFlipType.Rotate270FlipNone), чтобы повернуть изображение на 270 градусов.
  • Наконец, сохраните полученное изображение с помощью метода Image.save(string).

В следующем фрагменте кода показано, как выполнить поворот изображения в Java.

// Загрузить изображение
RasterImage image = (RasterImage) Image.load("image.bmp");

// Повернуть изображение
image.rotateFlip(RotateFlipType.Rotate270FlipNone);

// Сохранить изображение
image.save("rotated-image.bmp");

Ниже приведены входное изображение (слева) и результирующее изображение (справа), которое мы получаем после поворота.

повернуть изображение в java

Повернуть изображение

Поворот изображения Java под определенным углом

Вы также можете повернуть изображение на угол, отличный от 90, 180 и 270. Для этого API предоставляет метод Image.rotate(float angle), который принимает угол поворота в качестве параметра. В следующем примере кода показано, как повернуть изображение на 20 градусов в Java.

// Загрузить изображение
RasterImage image = (RasterImage) Image.load("image.bmp");

// Кэшировать изображение для лучшей производительности
if (!image.isCached()) {
  image.cacheData();
}

// Повернуть на 20 градусов, сохраняя размер изображения
image.rotate(20f);

// Сохранить изображение
image.save("rotated-image.bmp");

Ниже приведен вывод приведенного выше примера кода.

повернуть изображение под определенным углом в java

Повернуть и отразить изображение в Java

В предыдущих разделах вы видели, как повернуть изображение под нужным углом. Однако в некоторых случаях приходится одновременно вращать и переворачивать изображения. Для этого используются следующие значения RotateFlipType.

  • Rotate180FlipX: поворот на 180 градусов с горизонтальным отражением
  • Rotate180FlipXY: поворот на 180 градусов с горизонтальным и вертикальным отражением
  • Rotate180FlipY: поворот на 180 градусов с вертикальным отражением
  • Rotate270FlipX: поворот на 270 градусов с горизонтальным отражением
  • Rotate270FlipXY: вращение на 270 градусов с горизонтальным и вертикальным отражением
  • Rotate270FlipY: вращение на 270 градусов с вертикальным отражением
  • Rotate90FlipX: поворот на 90 градусов с горизонтальным отражением
  • Rotate90FlipXY: поворот на 90 градусов с горизонтальным и вертикальным отражением
  • Rotate90FlipY: поворот на 90 градусов с вертикальным отражением

Ниже приведены шаги для одновременного поворота и отражения изображения в Java.

  • Во-первых, используйте класс Image для загрузки изображения.
  • Затем используйте метод Image.rotateFlip(RotateFlipType.Rotate180FlipX), чтобы повернуть и отразить изображение.
  • Наконец, сохраните полученное изображение с помощью метода Image.save(string).

В следующем фрагменте кода показано, как выполнять одновременное вращение и отражение изображения.

// Загрузить изображение
RasterImage image = (RasterImage) Image.load("image.bmp");

// Повернуть и отразить изображение
image.rotateFlip(RotateFlipType.Rotate180FlipX);

// Сохранить изображение
image.save("rotated-image.bmp");

Ниже приведено результирующее изображение (справа), которое мы получаем после применения поворота и отражения.

Повернуть и отразить изображение в Java

Повернуть и отразить изображение

API вращения изображений Java — получите бесплатную лицензию

Вы можете получить бесплатную временную лицензию для поворота изображений без ограничений на оценку.

Вывод

В этой статье вы узнали, как поворачивать изображения в Java. Кроме того, вы видели, как поворачивать и отражать изображение одновременно. Кроме того, в статье также рассказывается, как повернуть изображение на определенный угол, отличный от 90, 180 и 270 градусов.

API редактирования изображений Java

Если вы хотите узнать больше об API редактирования изображений Java от Aspose, посетите документацию. Кроме того, вы можете загрузить образцы исходного кода API с GitHub. В случае возникновения вопросов вы можете связаться с нами на нашем форуме.

Смотрите также