# Bild vergrößern mit getScaledInstance



## Guest (14. Aug 2008)

```
this.image = this.image.getScaledInstance((int)widthScaled, (int)heightScaled,Image.SCALE_FAST);
```
erzeugt mir Bilder in der richtigen Größe bei Verkleinerung in paar ms, wenn das Fenster jetzt großgezogen wird und er muss das Bild vergrößern, braucht er 1 minute oder so. Gibts eine schnellere Funktion dafür?


----------



## Marco13 (14. Aug 2008)

Wo fühstst du das denn aus?
Auf jeden Fall kannst du auch mal den Klassiker lesen: http://today.java.net/pub/a/today/2007/04/03/perils-of-image-getscaledinstance.html


----------



## r.w. (15. Aug 2008)

Anonymous hat gesagt.:
			
		

> ```
> this.image = this.image.getScaledInstance((int)widthScaled, (int)heightScaled,Image.SCALE_FAST);
> ```
> erzeugt mir Bilder in der richtigen Größe bei Verkleinerung in paar ms, wenn das Fenster jetzt großgezogen wird und er muss das Bild vergrößern, braucht er 1 minute oder so. Gibts eine schnellere Funktion dafür?



Die Methode getScaledInstance ist erheblich schneller, wenn sie ein Image vom Typen RGB bzw. ARGB
vorgesetzt bekommt. In Deinem Fall sollte helfen, wenn Du Dein Image mit entsprechendem Typ erstellst,
Dein Bild hinein zeichnest ...

_z.B.:_

```
rgbImg = new BufferedImage(srcImg.getWidth(), srcImg.getHeight(), BufferedImage.TYPE_INT_RGB); // oder BufferedImage.TYPE_INT_ARGB
        rgbImg.getGraphics().drawImage(srcImg,0,0,null);
```
... und dann das Resultat wie gehabt an getScaledInstance übergibst. 

Der Link von Marco13 ist übrigens trotzdem zu empfehlen. 


VG ROlf


----------

