Ruota o capovolgi le immagini in Java

La rotazione e il capovolgimento delle immagini sono tra le caratteristiche chiave degli editor di immagini. Mentre si lavora con le immagini o si crea il proprio editor di immagini in Java, potrebbe essere necessario implementare queste funzionalità. Per raggiungere questo obiettivo, questo articolo mostra come ruotare e capovolgere le immagini in modo programmatico in Java. In particolare, tratteremo come ruotare un’immagine, capovolgere un’immagine e ruotare e capovolgere un’immagine allo stesso tempo.

API Java per ruotare e capovolgere le immagini

Aspose.Imaging for Java è un’API di elaborazione delle immagini che consente di manipolare un’ampia gamma di formati di immagine. L’API semplifica notevolmente la manipolazione delle immagini senza scrivere molto codice. Puoi scaricare l’API o installarla nelle tue applicazioni Java utilizzando le seguenti configurazioni 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>

Ruota e capovolgi un’immagine in Java

Puoi ruotare un’immagine con un angolo particolare o con gli angoli di rotazione standard che sono 90, 180 e 270 gradi. Inoltre, l’immagine può essere capovolta orizzontalmente o verticalmente. Aspose.Imaging per Java fornisce un unico metodo per ruotare e capovolgere un’immagine. L’enumerazione RotateFlipType viene utilizzata per specificare l’angolo di rotazione e il tipo di capovolgimento. È possibile eseguire una delle seguenti operazioni su un’immagine:

  • Ruota un’immagine
  • Capovolgi un’immagine
  • Ruota e capovolgi un’immagine contemporaneamente

Ruota un’immagine in Java

Per ruotare un’immagine senza capovolgere, puoi scegliere uno dei seguenti valori di RotateFlipType enum.

  • Rotate180FlipNone: rotazione di 180 gradi senza capovolgimento
  • Rotate270FlipNone: rotazione di 270 gradi senza capovolgimento
  • Rotate90FlipNone: rotazione di 90 gradi senza capovolgimento

Vediamo come ruotare un’immagine a 270 gradi in Java.

Il seguente frammento di codice mostra come ruotare un’immagine in Java.

// Carica immagine
RasterImage image = (RasterImage) Image.load("image.bmp");

// Ruota l'immagine
image.rotateFlip(RotateFlipType.Rotate270FlipNone);

// Salva immagine
image.save("rotated-image.bmp");

Le seguenti sono l’immagine di input (a sinistra) e l’immagine risultante (a destra) che otteniamo dopo la rotazione.

ruotare un'immagine in java

Ruota un’immagine

Capovolgi un’immagine in Java

Per capovolgere un’immagine, vengono utilizzati i seguenti valori di RotateFlipType.

  • RotateNoneFlipX: nessuna rotazione con ribaltamento orizzontale
  • RotateNoneFlipY: nessuna rotazione con ribaltamento verticale
  • RotateNoneFlipXY: nessuna rotazione con ribaltamento orizzontale e verticale

Di seguito sono riportati i passaggi per capovolgere un’immagine in Java.

L’esempio di codice seguente mostra come capovolgere un’immagine.

// Carica immagine
RasterImage image = (RasterImage) Image.load("image.bmp");

// Capovolgi l'immagine
image.rotateFlip(RotateFlipType.RotateNoneFlipX);

// Salva immagine
image.save("rotated-image.bmp");

Le seguenti sono l’immagine di input e l’immagine capovolta risultante.

Capovolgi un'immagine in Java

Capovolgi un’immagine

Ruota e capovolgi un’immagine in Java

Nelle sezioni precedenti, hai visto come ruotare un’immagine o capovolgerla. Tuttavia, in alcuni casi, è necessario eseguire entrambe le operazioni contemporaneamente. Per ottenere ciò, vengono utilizzati i seguenti valori di RotateFlipType.

  • Rotate180FlipX: rotazione di 180 gradi con ribaltamento orizzontale
  • Rotate180FlipXY: rotazione di 180 gradi con ribaltamento orizzontale e verticale
  • Rotate180FlipY: rotazione di 180 gradi con ribaltamento verticale
  • Rotate270FlipX: rotazione di 270 gradi con ribaltamento orizzontale
  • Rotate270FlipXY: rotazione di 270 gradi con ribaltamento orizzontale e verticale
  • Rotate270FlipY: rotazione di 270 gradi con ribaltamento verticale
  • Rotate90FlipX: rotazione di 90 gradi con ribaltamento orizzontale
  • Rotate90FlipXY: rotazione di 90 gradi con ribaltamento orizzontale e verticale
  • Rotate90FlipY: rotazione di 90 gradi con ribaltamento verticale

Di seguito sono riportati i passaggi per ruotare e capovolgere un’immagine contemporaneamente in Java.

Il frammento di codice seguente mostra come eseguire la rotazione e il capovolgimento di un’immagine contemporaneamente.

// Carica immagine
RasterImage image = (RasterImage) Image.load("image.bmp");

// Ruota e capovolgi l'immagine
image.rotateFlip(RotateFlipType.Rotate180FlipX);

// Salva immagine
image.save("rotated-image.bmp");

Quella che segue è l’immagine risultante (a destra) che otteniamo dopo aver applicato la rotazione e il capovolgimento.

Ruota e capovolgi un'immagine in Java

Ruota e capovolgi un’immagine

Ruota l’immagine su un angolo particolare

Puoi anche ruotare un’immagine con un angolo diverso da 90, 180 e 270. Per questo, l’API fornisce il metodo Image.rotate(float angle) che accetta l’angolo di rotazione come parametro. L’esempio di codice seguente mostra come ruotare un’immagine di 20 gradi in Java.

// Carica immagine
RasterImage image = (RasterImage) Image.load("image.bmp");

// Immagine della cache per prestazioni migliori
if (!image.isCached()) {
  image.cacheData();
}

// Ruota di 20 gradi mantenendo le dimensioni dell'immagine
image.rotate(20f);

// Salva immagine
image.save("rotated-image.bmp");

Di seguito è riportato l’output dell’esempio di codice precedente.

ruota l'immagine con un'angolazione particolare in Java

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Imaging per Java senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato a ruotare e capovolgere le immagini in Java. Inoltre, hai visto come ruotare un’immagine, capovolgere un’immagine e ruotare e capovolgere un’immagine allo stesso tempo. Inoltre, l’articolo spiegava anche come ruotare un’immagine con un angolo particolare diverso da 90, 180 e 270 gradi. Nel caso in cui desideri esplorare di più sull’API di elaborazione delle immagini Java, visita la documentazione. Inoltre, puoi scaricare gli esempi di codice sorgente dell’API da GitHub. In caso di domande, puoi contattarci al nostro forum.

Guarda anche