Bilder skalieren: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
Zeile 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>|