Hallo,
ich habe folgenden Quellcode zum Speichern eines Bildes:
Doch bei Stelle, an der ich meine Zeichenfunktion aufrufe (paintCompnent(g)) kommt zur Laufzeit StackTrace und NullPointer Exceptions.
Es liegt vielleicht daran, dass ich in einer anderen Klasse, wo ich das Bild speichern lassen will (mit ActionEvent), Fehler sind:
Ich wollte die Funktion myCreateImage erst static machen, um sie aufzurufen, statt ne neue Zeichenfläche anzulegen, wie es ja nun hier ist (Leinwand l), aber das geht nicht, weil der Graphics g von paintComponent nicht static gemacht werden kann.
Wer kann mir da helfen?
Tschau
Antje
ich habe folgenden Quellcode zum Speichern eines Bildes:
Code:
public RenderedImage myCreateImage()
{
int width = 350;
int height = 400;
// Create a buffered image in which to draw
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// Create a graphics contents on the buffered image
Graphics2D g2d = bufferedImage.createGraphics();
// Draw graphics
g2d.setColor(Color.white);
g2d.fillRect(0, 0, width, height);
g2d.setColor(Color.black);
//g2d.fillOval(0, 0, width, height);
paintComponent(g);
// Graphics context no longer needed so dispose it
g2d.dispose();
return bufferedImage;
}
Doch bei Stelle, an der ich meine Zeichenfunktion aufrufe (paintCompnent(g)) kommt zur Laufzeit StackTrace und NullPointer Exceptions.
Es liegt vielleicht daran, dass ich in einer anderen Klasse, wo ich das Bild speichern lassen will (mit ActionEvent), Fehler sind:
Code:
Leinwand l=new Leinwand();
// Create an image to save
RenderedImage rendImage = l.myCreateImage();
// Write generated image to a file
try {
// Save as PNG
File file = new File("newimage.png");
ImageIO.write(rendImage, "png", file);
/* // Save as JPEG
file = new File("newimage.jpg");
ImageIO.write(rendImage, "jpg", file);*/
} catch (IOException ex) { }
Wer kann mir da helfen?
Tschau
Antje