PDA

View Full Version : Resize di una immagine.


Demin Black Off
12-12-2006, 15:39
Supponete di avere un pannello, delle dimensioni panelH * panelW.

Supponete inoltre di avere un'immagine di dimensioni arbitrarie imgH * imgW che non sono in nessun modo legate a quelle del pannello o viceversa. Inoltre pannello e immagine hanno aspect ration differenti.

In che modo posso realizzare un codice che determini dimensioni nuove per l'immagine in modo tale da :

1) mantenere l'aspect ratio dell'immagine
2) sfruttare la maggior parte dell'area utile del pannello?

in java.

^TiGeRShArK^
12-12-2006, 16:04
Supponete di avere un pannello, delle dimensioni panelH * panelW.

Supponete inoltre di avere un'immagine di dimensioni arbitrarie imgH * imgW che non sono in nessun modo legate a quelle del pannello o viceversa. Inoltre pannello e immagine hanno aspect ration differenti.

In che modo posso realizzare un codice che determini dimensioni nuove per l'immagine in modo tale da :

1) mantenere l'aspect ratio dell'immagine
2) sfruttare la maggior parte dell'area utile del pannello?

in java.
Puoi anke ruotare l'immagine o l'orientamente deve rimanere invariato?
Nel caso in cui l'orientamento è vincolato devi semplicemente massimizzare il lato + lungo dell'immagine (in rapporto al pannello)...
In pratica se hai un pannello 1000X300 e un'immagine 400X200 il lato lungo dell'immagine sarà il lato verticale grande 200 perchè è il + lungo in rapporto alle dimensioni del pannello.
Per verificare qual'è il + lungo è sufficiente dividere i due lati del pannello per i due lati dell'immagine. Quello in cui ottieni il risultato + grande è il lato + lungo.
A quel punto è sufficiente porre le dimensioni di questo lato uguali alle dimensioni del lato del pannello e moltiplicare per lo stesso coefficiente le dimensioni dell'altro lato.
Spero di essere stato + o - chiaro :p