Wie kann man ein ImageIcon skalieren?
Die Klasse ImageIcon stellt die Methoden setImage()
und getImage() bereit, die eine Image-Instanz
an das ImageIcon übergeben, bzw. eine
solche zurück geben. Die Klasse Image
liefert die Methode getScaledInstance(), die
eine skalierte Version des übergebenen Image-Objektes
erstellt.
import java.awt.Image;
import javax.swing.ImageIcon;
public class ImageIconSkalierenClass {
public static void main(String[] args){
ImageIcon ico = new ImageIcon("/home/webs/bild.jpg");
ico.setImage(ico.getImage().getScaledInstance(100,100,Image.SCALE_DEFAULT));
}
}
Im Beispiel wird somit eine Image-Instanz des
Ausgangs-ImageIcon erzeugt, dieses skaliert und
schließlich wieder dem ImageIcon-Objekt
übergeben. Neben Breite und Höhe wird getScaledInstance()
noch ein dritter Parameter übergeben. Dieser bestimmt den
Algorithmus der Skalierung und bestimmt somit besonders die
Priorität zwischen Skalierungs-Tempo und 'smoothness'
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.