Ich habe jetzt schon zeihmlich viel darüber gelesen und mir auch eine eigene Funktion gebastelt. Mir scheint aber, das ich da irgentwo einen Wurm drinne habe. Wird wohl daher eher ein logischer Fehler sein
Ich habe ein BufferedImage, in dem mein orginalbild verkleinert reingezeichnet wird. Dieses BuffImg möchte ich jetzt dannach in 90° Grad Schritten rotieren.
Dazu habe ich mir eine Funktion geschrieben, die ein BuffImg annimmt, ein neues BuffImg mit vertauschter Breite/Höhe erstellt, und das angenommene per AffineTransform rotiert in das neue einträgt. Danach wird das neue BuffImg zurückgegeben sodass ich es abspeichern kann. Nur leider bekomme ich immer Schwarze Bilder... :suspekt:
Hier mal ein wenig Code...
Ich habe ein BufferedImage, in dem mein orginalbild verkleinert reingezeichnet wird. Dieses BuffImg möchte ich jetzt dannach in 90° Grad Schritten rotieren.
Dazu habe ich mir eine Funktion geschrieben, die ein BuffImg annimmt, ein neues BuffImg mit vertauschter Breite/Höhe erstellt, und das angenommene per AffineTransform rotiert in das neue einträgt. Danach wird das neue BuffImg zurückgegeben sodass ich es abspeichern kann. Nur leider bekomme ich immer Schwarze Bilder... :suspekt:
Hier mal ein wenig Code...
Code:
public BufferedImage RotatePicture(BufferedImage scaledImage, int width, int height)
{
AffineTransform trans = AffineTransform.getRotateInstance(90);
BufferedImage dest = new BufferedImage(height, width, BufferedImage.TYPE_INT_RGB);
Graphics2D g = dest.createGraphics();
g.drawImage(dest, trans, null);
g.dispose();
return dest;
}