# byte[] to image



## cykan (4. Jun 2009)

Hi!
Hoffe bin hier richtig! 

Ich wollte mal nachfragen ob jemand weiß, wie ich aus einem byte[] ein Image machen kann. Hab zwar gegoogelt, konnte bisher allerdings noch keine Lösung finden. Benutze Java 6. Das byte[] habe ich aus einem Blob aus meinem ResultSet (mySQL Datenbank).

Wenn jemand vllt ne möglichkeit kennt, aus dem Blob direkt nen image zu machen ist das natürlich auch voll ok. 

Vielen Dank schon mal im vorraus!

LG
cykan


----------



## thE_29 (4. Jun 2009)

Najo, willst du das Bild anzeigen oder abspeichern?

Ansonsten guck dir mal ByteArrayInputStream an. Dem übergibst du deinen byte Buffer und mit FileOutputStream kannst du das wegschreiben. 

Oder zum Anzeigen: Toolkit.createImage(byte buf[])
Da kriegste ein Image zurück, welches du dann in ein ImageIcon umwandeln kannst (Konstruktor) und das kannst bei Swing anzeigen.


----------



## Verjigorm (4. Jun 2009)

Sowas:


```
public static boolean erstelleDatei(byte[] datei, String pfad)
	{
		FileOutputStream outStream;
		if(datei.length <= 0)
			return false;
		try {
			outStream = new FileOutputStream(pfad);
			outStream.write(datei,0,datei.length);
			outStream.close();
		} catch (FileNotFoundException e) {
                        e.printStackTrace();
			return false;
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}
		return true;
	}
```


----------



## cykan (4. Jun 2009)

Danke Leute! 

Hab das jetzt wie folgt gelöst:


```
public void toImage(Blob blob) throws SQLException {
		Image img;
		ImageIcon ic;
		int bLength = (int)blob.length();
		ic = new ImageIcon(blob.getBytes(0, bLength));
		img = ic.getImage();
}
```

Vielen Dank!


----------

