Bilder skalieren: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenZeile 3: | Zeile 3: | ||
Statt dessen kann nach dem [[Grafikdateien_laden_und_anzeigen | Laden von Bildern]] folgender Code in die paintComponent()-Methode geschrieben werden: | Statt dessen kann nach dem [[Grafikdateien_laden_und_anzeigen | Laden von Bildern]] folgender Code in die paintComponent()-Methode geschrieben werden: | ||
<code=java>/*<den Code zum Laden von Bildern außerhalb von paintComponent() einfügen>*/ | <code=java>/*<den Code zum Laden von Bildern außerhalb von paintComponent() einfügen>*/ | ||
− | bild = ImageIO.read(... | + | bild = ImageIO.read(...</code=java> |
− | protected void paintComponent(Graphics g) { | + | <code=java>protected void paintComponent(Graphics g) { |
BufferedImage scaled = new BufferedImage(newwidth, newheight, bild.getType()); | BufferedImage scaled = new BufferedImage(newwidth, newheight, bild.getType()); | ||
Graphics2D g2d= scaled.createGraphics(); | Graphics2D g2d= scaled.createGraphics(); |
Version vom 1. Januar 2012, 17:10 Uhr
Bilder skalieren
getScaledImage() ist recht unperformant und sollte nicht zum Skalieren von vielen Bildern in Java verwendet werden.
Statt dessen kann nach dem Laden von Bildern folgender Code in die paintComponent()-Methode geschrieben werden:
<code=java>/*<den Code zum Laden von Bildern außerhalb von paintComponent() einfügen>*/
bild = ImageIO.read(...</code=java>
<code=java>protected void paintComponent(Graphics g) {
BufferedImage scaled = new BufferedImage(newwidth, newheight, bild.getType()); Graphics2D g2d= scaled.createGraphics(); g2d.drawImage(bild, 0, 0, newwidth, newheight, null); g2d.dispose();
}</code=java>|