Hi, momentan drehe ich ein Bild so:
Nur hab ich da als dummen Nebeneffekt, dass das Bild größer wird, da dass Bild ja am Ende schräg stehen kann. Wie kann ich jetzt berechnen, wie groß das Bild mindestens sein muss, wenn ich die länge und breite des Bildes habe und die Gradzahl um die es gedreht werden soll, um noch vollständig angezeigt zu werden?
Code:
void rotatePic() {
double angle = rotateDeg.getValue() * 3.14 / 180.0;
int diagonale = (int)Math.sqrt(curImg.getWidth() * curImg.getWidth() + curImg.getHeight() * curImg.getHeight()) + 1;
old = new BufferedImage(diagonale, diagonale, BufferedImage.TYPE_INT_ARGB);
Graphics2D comp2D = old.createGraphics();
comp2D.drawImage(curImg, (diagonale - curImg.getWidth()) / 2, (diagonale - curImg.getHeight()) / 2, null);
comp2D.dispose();
AffineTransform tx = AffineTransform.getRotateInstance(angle, old.getWidth() / 2, old.getHeight() / 2);
AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
shownImg = op.filter(old, null);
pic.setIcon(new ImageIcon(shownImg));
}
Nur hab ich da als dummen Nebeneffekt, dass das Bild größer wird, da dass Bild ja am Ende schräg stehen kann. Wie kann ich jetzt berechnen, wie groß das Bild mindestens sein muss, wenn ich die länge und breite des Bildes habe und die Gradzahl um die es gedreht werden soll, um noch vollständig angezeigt zu werden?