Hi JavaGmeinde,
ich habe hier ein Problem mit einem BufferedImage. Also ich habe eine print-Routine geschrieben, die Components ausdruckt, so dass ich um Bilder usw. ausdrucken zu können, diese zuerst auf ein z. B. Label painten muss.
Die entscheidende Stelle ist IMHO folgende:
Zwar ist das entstehende Bild die angegebenen 100 x 100 Pixel groß. Jedoch liegt die Ecke links oben nicht bei den Koordinaten 150, 150, sondern bei 0,0. Was mache ich falsch? Eigentlich ist egal, welche Angaben ich für die x- und y-Koordinaten mache, es hat keinen Einfluss. Muss ich das Bild erst auf einer Componente zeichnen, muss ich es erst mit create(); aufrufen? An paint()/ paintComponent() kann es eigentlich nicht liegen, da ich das schon ausprobiert habe.
Insgesamt schlage ich mich schon 2 Tage mit den unterschiedlichsten Lösungsansätzen rum, und stehe deshalb am Rand der Verzweiflung.
Falls jemand Abhilfe weiß oder einen anderen kreativen Lösungsansatz hat, wäre ich sehr dankbar.
By<e Ulrich
ich habe hier ein Problem mit einem BufferedImage. Also ich habe eine print-Routine geschrieben, die Components ausdruckt, so dass ich um Bilder usw. ausdrucken zu können, diese zuerst auf ein z. B. Label painten muss.
Die entscheidende Stelle ist IMHO folgende:
Code:
BufferedImage image = new BufferedImage(jTabbedPane.getComponent(jTabbedPane.getSelectedIndex()).getWidth(),
jTabbedPane.getComponent(jTabbedPane.getSelectedIndex()).getHeight(),
BufferedImage.TYPE_INT_RGB);
BufferedImage imageRed = image.getSubimage(150,150,100,100);
Graphics g = imageRed.getGraphics();
jTabbedPane.getComponent(jTabbedPane.getSelectedIndex()).paint(g);
Insgesamt schlage ich mich schon 2 Tage mit den unterschiedlichsten Lösungsansätzen rum, und stehe deshalb am Rand der Verzweiflung.
Falls jemand Abhilfe weiß oder einen anderen kreativen Lösungsansatz hat, wäre ich sehr dankbar.
By<e Ulrich