Marko: JPG unter Java speichern / Image in ein BufferedImage umwandeln?

Beitrag lesen

Hi Christian,

/***************************************************/
BufferedImage img = new BufferedImage(0,0, BufferedImage.TYPE_INT_RGB);
Graphics2D g = (Graphics2D)img.getGraphics();
g.fillRect(0,0,200,200); //dies geht, das Rechteck wird mit abgespeichert
g.drawImage( meineImageInstanz , 0,0, this); //geht irgendwie nicht, (this ist ein ImageObserver-objekt, die Klasse implementiert dieses Interface).
/***************************************************/

erstmal müsste das BufferedImge größer als 0,0 sein. Ich vermute mal Tippfehler im posting, aber das eignetliche Problem liegt wahrscheinlich in der Art, wie in Java so ein Bild gezeichnet wird. Wenn fillRect funktioniert, funktioniert DrawImage genauso gut, mit einem kleinen Unterschied: DrawImage malt das Bild in einem nebenläufigen Thread, wenn Du abspeicherst ist er schlicht noch nicht fertig mit dem Malen. Ich glaube der ImageObserver dient zur Kontrolle ob der Zweichenvorgang fertig ist, allerdings weiss ich auch nicht wie man den einsetzt, hab das mal auf primitive Methode gelöst, indem ich zwishcen dem Malen und der Verwendung des Bildes schon ein neues Bild über die Leitung geholt hab, wenn das da war, war er dann auch fertig mit malen, aber das ist nicht die professionelle Variante.

Gruss

Marko

Gruss

Marko