AWT RenderedImage aus BufferedImage erzeugen, um Bild abzuspeichern?

equin

Aktives Mitglied
Hallo,

ich will eine Grafik erstellen, und diese dann abspeichern. Die Klasse "ImageIO" erwartet allerdings statt dem BufferedImage ein RenderedImage. Wie kann ich dies umwandeln? Unten noch der nicht laufende Code:

Java:
	int height = 100;
	int width = 100;
	BufferedImage bimage = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);
		
	ImageIO.write(image, "jpeg", new File("c:/test"));

Viele Grüße
equin
 
RenderedImage ist ein Interface, das von BufferedImage implementiert wird ==> BufferedImage ist ein RenderedImage.

Ist das Dein Original Code?
bimage != image
Ich würde der Datei noch eine Endung mitgeben statt "test" "test.jpg" dann erkennt auch das OS automatisch, um was es sich handelt.
 
Oh da hatte ich wohl eine Zeile zuviel rausgelöscht. Ich hatte das BufferedImage vorher noch in ein Image umgewandelt... Aber das hab ich jetzt mal rausgenommen, wenn man es eh nicht braucht.

Dann lässt sich der Code auch kompilieren. Bei der Ausführung erhalte ich aber eine Exception, dass der Zugriff verweigert wurde

Java:
int height = 100;
int width = 100;
BufferedImage bimage = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);
		
		
try{
	ImageIO.write(bimage, "jpeg", new File("c:/test.jpg"));
}catch(Exception e){
			
}


java.io.FileNotFoundException: c:\test (Zugriff verweigert)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(Unknown Source)
at javax.imageio.stream.FileImageOutputStream.<init>(Unknown Source)
at com.sun.imageio.spi.FileImageOutputStreamSpi.createOutputStreamInstance(Unknown Source)
at javax.imageio.ImageIO.createImageOutputStream(Unknown Source)
at javax.imageio.ImageIO.write(Unknown Source)
at BufferedImageTest.main(BufferedImageTest.java:25)


Woran liegt das denn?
 

Neue Themen


Zurück
Oben