Girar ou inverter imagens em Java

A rotação e a inversão da imagem estão entre os principais recursos dos editores de imagem. Ao trabalhar com imagens ou criar seu próprio editor de imagens em Java, pode ser necessário implementar esses recursos. Para conseguir isso, este artigo mostra como girar e inverter imagens programaticamente em Java. Particularmente, abordaremos como girar uma imagem, inverter uma imagem e girar e inverter uma imagem ao mesmo tempo.

API Java para girar e inverter imagens

Aspose.Imaging for Java é uma API de processamento de imagem que permite manipular uma ampla variedade de formatos de imagem. A API facilita bastante a manipulação de imagens sem escrever muito código. Você pode baixar a API ou instalá-la em seus aplicativos Java usando as seguintes configurações do 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>

Girar e inverter uma imagem em Java

Você pode girar uma imagem em um ângulo específico ou nos ângulos de rotação padrão que são 90, 180 e 270 graus. Além disso, a imagem pode ser invertida horizontalmente ou verticalmente. Aspose.Imaging para Java fornece um único método para girar e inverter uma imagem. O enum RotateFlipType é usado para especificar o ângulo de rotação e o tipo de inversão. Você pode realizar uma das seguintes operações em uma imagem:

  • Girar uma imagem
  • Virar uma imagem
  • Girar e virar uma imagem ao mesmo tempo

Girar uma imagem em Java

Para girar uma imagem sem inverter, você pode escolher um dos seguintes valores de RotateFlipType enum.

  • Rotate180FlipNone: rotação de 180 graus sem virar
  • Rotate270FlipNone: rotação de 270 graus sem virar
  • Rotate90FlipNone: rotação de 90 graus sem virar

Vamos ver como girar uma imagem em 270 graus em Java.

O trecho de código a seguir mostra como girar uma imagem em Java.

// Carregar imagem
RasterImage image = (RasterImage) Image.load("image.bmp");

// Girar a imagem
image.rotateFlip(RotateFlipType.Rotate270FlipNone);

// Salvar imagem
image.save("rotated-image.bmp");

A seguir estão a imagem de entrada (esquerda) e a imagem resultante (direita) que obtemos após a rotação.

girar uma imagem em java

Girar uma imagem

Virar uma imagem em Java

Para inverter uma imagem, os seguintes valores RotateFlipType são usados.

  • RotateNoneFlipX: Sem rotação com inversão horizontal
  • RotateNoneFlipY: Sem rotação com inversão vertical
  • RotateNoneFlipXY: Sem rotação com inversão horizontal e vertical

A seguir estão as etapas para inverter uma imagem em Java.

O exemplo de código a seguir mostra como inverter uma imagem.

// Carregar imagem
RasterImage image = (RasterImage) Image.load("image.bmp");

// Vire a imagem
image.rotateFlip(RotateFlipType.RotateNoneFlipX);

// Salvar imagem
image.save("rotated-image.bmp");

A seguir estão a imagem de entrada e a imagem invertida resultante.

Virar uma imagem em Java

Virar uma imagem

Girar e inverter uma imagem em Java

Nas seções anteriores, você viu como girar uma imagem ou invertê-la. No entanto, em alguns casos, você precisa executar as duas operações ao mesmo tempo. Para conseguir isso, os seguintes valores RotateFlipType são usados.

  • Rotate180FlipX: rotação de 180 graus com inversão horizontal
  • Rotate180FlipXY: rotação de 180 graus com inversão horizontal e vertical
  • Rotate180FlipY: rotação de 180 graus com inversão vertical
  • Rotate270FlipX: rotação de 270 graus com inversão horizontal
  • Rotate270FlipXY: rotação de 270 graus com inversão horizontal e vertical
  • Rotate270FlipY: rotação de 270 graus com inversão vertical
  • Rotate90FlipX: rotação de 90 graus com inversão horizontal
  • Rotate90FlipXY: rotação de 90 graus com inversão horizontal e vertical
  • Rotate90FlipY: rotação de 90 graus com inversão vertical

A seguir estão as etapas para girar e inverter uma imagem ao mesmo tempo em Java.

O trecho de código a seguir mostra como executar a rotação e a inversão de uma imagem ao mesmo tempo.

// Carregar imagem
RasterImage image = (RasterImage) Image.load("image.bmp");

// Gire e inverta a imagem
image.rotateFlip(RotateFlipType.Rotate180FlipX);

// Salvar imagem
image.save("rotated-image.bmp");

A seguir está a imagem resultante (direita) que obtemos após aplicar rotação e inversão.

Girar e virar uma imagem em Java

Girar e virar uma imagem

Girar imagem em um ângulo específico

Você também pode girar uma imagem em um ângulo diferente de 90, 180 e 270. Para isso, a API fornece o método Image.rotate(float angle) que aceita o ângulo de rotação como parâmetro. O exemplo de código a seguir mostra como girar uma imagem em 20 graus em Java.

// Carregar imagem
RasterImage image = (RasterImage) Image.load("image.bmp");

// Imagem de cache para melhor desempenho
if (!image.isCached()) {
  image.cacheData();
}

// Gire a 20 graus, mantendo o tamanho da imagem
image.rotate(20f);

// Salvar imagem
image.save("rotated-image.bmp");

A seguir está a saída do exemplo de código acima.

girar a imagem em um ângulo específico em java

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.Imaging for Java sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como girar e inverter imagens em Java. Além disso, você viu como girar uma imagem, inverter uma imagem e girar e inverter uma imagem ao mesmo tempo. Além disso, o artigo também abordou como girar uma imagem em um ângulo específico diferente de 90, 180 e 270 graus. Caso queira explorar mais sobre a API de processamento de imagens Java, visite documentação. Além disso, você pode baixar os exemplos de código-fonte da API do GitHub. Em caso de dúvidas, você pode entrar em contato conosco em nosso fórum.

Veja também