si lo stavo guardando:
codice:
private void printImage(Graphics2D g2d, PageFormat pageFormat, BufferedImage image) {
int imageWidth = image.getWidth();
int imageHeight = image.getHeight();
double areaX = pageFormat.getImageableX();
double areaY = pageFormat.getImageableY();
double areaWidth = pageFormat.getImageableWidth();
double areaHeight = pageFormat.getImageableHeight();
g2d.translate(areaX, areaY);
// Verifica se gli orientamenti di area e immagine non coincidono
if (areaWidth > areaHeight ^ imageWidth > imageHeight) {
g2d.translate(areaWidth, 0);
g2d.rotate(Math.PI / 2); // ruota di +90 gradi
// inverte le lunghezze
areaHeight = pageFormat.getImageableWidth();
areaWidth = pageFormat.getImageableHeight();
}
double scale = Math.min(areaWidth / imageWidth, areaHeight / imageHeight);
g2d.scale(scale, scale);
g2d.drawImage(image, 0, 0, null);
}
però io non vorrei ruotare la pagina.
vorrei farla sempre rientrare nelle dimensioni anche se larghezza > altezza.
non so me mi sono spiegato bene!