# ImageIcon -> BufferedImage



## F P (25. Jun 2007)

Ich habe ein ImageIcon und möchte daraus ein BufferedImage machen. Ich habe dazu folgendes geschrieben: 


```
ImageIcon img = new ImageIcon("filename.gif"); 
BufferedImage buImg = new BufferedImage(img.getIconWidth(), img.getIconHeight(), BufferedImage.TYPE_INT_ARGB); 

buImg = (BufferedImage)img.getImage();
```

Dies ergibt eine java.lang.ClassCastException. 

Was habe ich falsch gemacht?


----------



## Marco13 (25. Jun 2007)

Das Image, das zurückgegeben wird, ist "irgendein" Image, und nicht unbedingt ein BufferedImage. Aber das Image kann man in ein BufferedImage reinmalen

```
ImageIcon img = new ImageIcon("filename.gif"); 
BufferedImage buImg = new BufferedImage(img.getIconWidth(), img.getIconHeight(), BufferedImage.TYPE_INT_ARGB); 
buImg.getGraphics().drawImage(img.getImage(), 0,0);
```
(drawImage-Aufruf ggf. in der Graphics-Klasse nachlesen)


----------



## F P (25. Jun 2007)

Danke! Es hat geklappt. Ich musste allerdings den Aufruf folgendermassen abändern (by trial and error):


```
buImg.getGraphics().drawImage(img.getImage(), 0,0, img.getImageObserver());
```

Ist das so ok? Was ist der ImageObserver?


----------

