Bilder in Java drehen oder spiegeln

Bildrotation und -spiegelung gehören zu den Hauptfunktionen der Bildbearbeitungsprogramme. Während Sie mit Bildern arbeiten oder Ihren eigenen Bildeditor in Java erstellen, müssen Sie diese Funktionen möglicherweise implementieren. Um dies zu erreichen, zeigt dieser Artikel, wie Sie Bilder in Java programmgesteuert drehen und spiegeln. Insbesondere werden wir behandeln, wie man ein Bild dreht, ein Bild kippt und ein Bild gleichzeitig dreht und kippt.

Java API zum Drehen und Spiegeln von Bildern

Aspose.Imaging for Java ist eine Bildverarbeitungs-API, mit der Sie eine Vielzahl von Bildformaten bearbeiten können. Die API macht es Ihnen viel einfacher, Bilder zu manipulieren, ohne viel Code schreiben zu müssen. Sie können die API herunterladen oder sie mit den folgenden Maven konfigurationen in Ihren Java Anwendungen installieren.

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

Drehen und spiegeln Sie ein Bild in Java

Sie können ein Bild entweder in einem bestimmten Winkel oder in den Standarddrehwinkeln von 90, 180 und 270 Grad drehen. Außerdem kann das Bild horizontal oder vertikal gespiegelt werden. Aspose.Imaging for Java bietet eine einzige Methode zum Drehen und Spiegeln eines Bildes. Die Aufzählung RotateFlipType wird verwendet, um den Rotationswinkel und den Flip-Typ anzugeben. Sie können einen der folgenden Vorgänge für ein Bild ausführen:

  • Drehen Sie ein Bild
  • Spiegeln Sie ein Bild
  • Drehen und spiegeln Sie ein Bild gleichzeitig

Drehen Sie ein Bild in Java

Um ein Bild zu drehen, ohne es zu spiegeln, können Sie einen der folgenden Werte für die Aufzählung RotateFlipType auswählen.

  • Rotate180FlipNone: 180-Grad-Drehung ohne Spiegeln
  • Rotate270FlipNone: 270-Grad-Drehung ohne Spiegeln
  • Rotate90FlipNone: 90-Grad-Drehung ohne Spiegeln

Sehen wir uns an, wie man ein Bild in Java um 270 Grad dreht.

Das folgende code snippet zeigt, wie ein Bild in Java gedreht wird.

// Bild laden
RasterImage image = (RasterImage) Image.load("image.bmp");

// Drehen Sie das Bild
image.rotateFlip(RotateFlipType.Rotate270FlipNone);

// Bild speichern
image.save("rotated-image.bmp");

Das Folgende sind das Eingabebild (links) und das resultierende Bild (rechts), das wir nach der Drehung erhalten.

Bild drehen in java

Drehen Sie ein Bild

Spiegeln Sie ein Bild in Java

Um ein Bild zu spiegeln, werden die folgenden RotateFlipType-Werte verwendet.

  • RotateNoneFlipX: Keine Drehung beim horizontalen Spiegeln
  • RotateNoneFlipY: Keine Drehung beim vertikalen Spiegeln
  • RotateNoneFlipXY: Keine Drehung bei horizontalem und vertikalem Spiegeln

Im Folgenden sind die Schritte zum Spiegeln eines Bildes in Java aufgeführt.

Das folgende Codebeispiel zeigt, wie ein Bild gespiegelt wird.

// Bild laden
RasterImage image = (RasterImage) Image.load("image.bmp");

// Spiegeln Sie das Bild
image.rotateFlip(RotateFlipType.RotateNoneFlipX);

// Bild speichern
image.save("rotated-image.bmp");

Das Folgende sind das Eingabebild und das resultierende gespiegelte Bild.

Spiegeln Sie ein Bild in Java

Spiegeln Sie ein Bild

Drehen und spiegeln Sie ein Bild in Java

In den vorherigen Abschnitten haben Sie gesehen, wie Sie ein Bild drehen oder spiegeln. In einigen Fällen müssen Sie jedoch beide Vorgänge gleichzeitig ausführen. Um dies zu erreichen, werden die folgenden RotateFlipType-Werte verwendet.

  • Rotate180FlipX: 180-Grad-Drehung mit horizontalem Spiegeln
  • Rotate180FlipXY: 180-Grad-Drehung mit horizontalem und vertikalem Spiegeln
  • Rotate180FlipY: 180-Grad-Drehung mit vertikalem Spiegeln
  • Rotate270FlipX: 270-Grad-Drehung mit horizontalem Spiegeln
  • Rotate270FlipXY: 270-Grad-Drehung mit horizontalem und vertikalem Spiegeln
  • Rotate270FlipY: 270-Grad-Drehung mit vertikalem Spiegeln
  • Rotate90FlipX: 90-Grad-Drehung mit horizontalem Spiegeln
  • Rotate90FlipXY: 90-Grad-Drehung mit horizontalem und vertikalem Spiegeln
  • Rotate90FlipY: 90-Grad-Drehung mit vertikalem Spiegeln

Im Folgenden sind die Schritte zum gleichzeitigen Drehen und Spiegeln eines Bildes in Java aufgeführt.

Das folgende code snippet zeigt, wie Sie ein Bild gleichzeitig drehen und spiegeln können.

// Bild laden
RasterImage image = (RasterImage) Image.load("image.bmp");

// Drehe und spiegele das Bild
image.rotateFlip(RotateFlipType.Rotate180FlipX);

// Bild speichern
image.save("rotated-image.bmp");

Das Folgende ist das resultierende Bild (rechts), das wir nach dem Anwenden von Drehung und Spiegelung erhalten.

Drehen und spiegeln Sie ein Bild in Java

Drehen und spiegeln Sie ein Bild

Bild in einem bestimmten Winkel drehen

Sie können ein Bild auch in einem anderen Winkel als 90, 180 und 270 drehen. Dafür stellt die API die Methode Image.rotate(float angle) bereit, die den Drehwinkel als Parameter akzeptiert. Das folgende Codebeispiel zeigt, wie ein Bild in Java um 20 Grad gedreht wird.

// Bild laden
RasterImage image = (RasterImage) Image.load("image.bmp");

// Cache-Image für bessere Leistung
if (!image.isCached()) {
  image.cacheData();
}

// Drehen Sie um 20 Grad, während Sie die Bildgröße beibehalten
image.rotate(20f);

// Bild speichern
image.save("rotated-image.bmp");

Das Folgende ist die Ausgabe des obigen Codebeispiels.

Bild in Java in einem bestimmten Winkel drehen

Holen Sie sich eine kostenlose API Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.Imaging for Java ohne Evaluierungseinschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Bilder in Java drehen und spiegeln. Außerdem haben Sie gesehen, wie Sie ein Bild drehen, ein Bild spiegeln und ein Bild gleichzeitig drehen und spiegeln. Darüber hinaus behandelte der Artikel auch, wie man ein Bild in einem anderen Winkel als 90, 180 und 270 Grad dreht. Falls Sie mehr über die Java Bildverarbeitungs-API erfahren möchten, besuchen Sie Dokumentation. Außerdem können Sie die Quellcodebeispiele der API von GitHub herunterladen. Bei Fragen können Sie uns in unserem Forum erreichen.

Siehe auch