Bilder skalieren: Unterschied zwischen den Versionen

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

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(...

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>|