Christian030783
Mitglied
Hallo zusammen!
Ich erzeuge in meinem Programm einige Grafiken und möchte diese in ein PDF mit Hilfe von iText einfügen.
Momentan mache ich das folgendermaßen(Habe den Code etwas vereinfacht):
1. Grafik zeichnen (Graphics g)
2. Grafik als JPEG speichern
3. Grafik in PDF einfügen
Geht das vielleicht irgendwie ohne dieses "Zwischenspeichern" in Schritt 2?
z.B. so etwas wie
Ich erzeuge in meinem Programm einige Grafiken und möchte diese in ein PDF mit Hilfe von iText einfügen.
Momentan mache ich das folgendermaßen(Habe den Code etwas vereinfacht):
1. Grafik zeichnen (Graphics g)
Code:
public static void myPaintFunction(Graphics g){
g.drawOval(10, 10, 190, 190);
}
Code:
public static void store(int iWidth, int iHeight, String sImgFilename){
BufferedImage img = new BufferedImage(iWidth,iHeight, BufferedImage.TYPE_INT_ARGB);
myPaintFunction(img.createGraphics());
try{
FileOutputStream out = new FileOutputStream( new File( sImgFilename ) );
JPEGImageEncoder enc = JPEGCodec.createJPEGEncoder( out );
JPEGEncodeParam prm = enc.getDefaultJPEGEncodeParam( img );
prm.setQuality( 1.0f, false );
enc.setJPEGEncodeParam( prm );
enc.encode( img );
} catch(Exception ex){
}
}
Code:
....
Image img = Image.getInstance("nw.jpg");
document.add(img);
...
Geht das vielleicht irgendwie ohne dieses "Zwischenspeichern" in Schritt 2?
z.B. so etwas wie
Code:
Image img = Image.getInstance(new myPaintFunction())
document.add(img);