Java und mehrseitige TIFFs

schnuffie

Erfahrenes Mitglied
Hallo Leute,

habe eine Anwendung (Swing), die aus 4 Teilbereichen besteht, die jeweils bestimmte Inhalte darstellt (siehe Anlage). Nun soll daraus eine Art Screenshot erstellt werden (wegen der Revisionssicherheit ein Bild). Sinnvollerweise soll das auch ein Bild (nicht 4) sein. Meiner Meinung nach geht das doch nur mit TIFF, oder?

Ich kann ja bekanntlich JPGs in Java so speichern: :)

Code:
ImageIO.write(myImage, "jpg", "c:\irgendwas.jpg");

Meine Fragen: :confused:
1. Wie geht das mit TIFF? Statt "jpg" als String "tiff" oder "tif" bringt nur eine 0-Byte-Datei.
2. Wie erstelle ich ein mehrseitiges TIFF? Ich meine, alle 4 Bereiche (also 4 BufferedImages) als ein mehrseitiges TIFF abspeichern.

Danke - CU schnuffie
 

Anhänge

  • aufbau.gif
    aufbau.gif
    2,4 KB · Aufrufe: 187
Zuletzt bearbeitet:
Leider konnte mir noch Keiner helfen. :(

Habe mich mal versucht, am JAI-Package von SUN. Das erschlägt mich ja! :mad:
Wer kennt sich damit aus oder hat eine andere Idee? Würde mich über jedes Code-Beispiel freuen.
 
Hm, das ist das, was ich mir als JAI angeschaut hab'. Danke trotzdem.

Wer kennt sich damit aus oder hat eine andere Idee? Würde mich über jedes Code-Beispiel freuen.
 
Hallo!

Also standard Java Image/IO Unterstützt keine Tiff's dazu musst du schon wie Bernd1984 schon gesagt hat JAI verwenden... aber mit geht's dann auch. Weiterhin weis ich nicht genau was du mit 4 Seitigen Bildern meinst,....?
Falls du die 4 Bereiche in ein Bild zeichnen willst brauchst du einfach nur ein BufferedImage zu erstellen welches groß genug ist dann besorgst du dir den Graphics Kontext davon und zeichnest einfach jedes Bild in das "große" Bild rein fertig. Daraus kannst du dann per JAI ein tiff Image schreiben lassen.

Gruß Tom
 
Ja, Thomas, wird mir wohl nichts anderes übrig bleiben. :(

Das mit dem BufferedImage kenne ich, danke trotzdem.

(!) Was ich brauche, ist alle 4 "Frames" hintereinander weg in ein TIFF (= mehrseitiges TIFF) speichern. Das geht bei TIFFs, im Gegensatz zu JPEGs beispielsweise.

Wie bereits geschrieben...
Habe mich mal versucht, am JAI-Package von SUN. Das erschlägt mich ja! :mad:
Wer kennt sich damit aus oder hat eine andere Idee? Würde mich über jedes Code-Beispiel freuen.
 
jau, hi,

also, es gibt noch eine einfachere möglichkeit, indem du nämlich nur das jai-imageio-framework installierst bzw. in deinen klassenpfad miteinbindest. dann kannst du mit ImageIO.write tiffs schreiben. mit mehreren tiffs kannst du, so glaube ich mich zu erinnern, einen entsprechenden index in dem reader angeben.

gruß,

chris
 
Danke für den Hinweis, wie sieht das konkret aus?

So?
Code:
FileOutputStream out = new FileOutputStream("d:\\schnuffie.tif", true);
ImageIO.write(img1, "TIFF", out);
ImageIO.write(img2, "TIFF", out);
ImageIO.write(img3, "TIFF", out);
ImageIO.write(img4, "TIFF", out);
out.close();

Durch das "append=true" würde theoretisch alles hinten angefügt. Falls das funktionieren würde, was es leider nicht tut :( - wie mache ich dem TIFF klar, das es mit jedem neuen Bild eine neue Seite anfangen soll?

Wie bereits mehrfach angemerkt: Ein Codeschnipsel würde mir viel weiter helfen. So gut Eure Hinweise auch sind, da ich noch nicht so recht weiß, wo ich beim JAI anfangen soll, fällt es mir extrem schwer, "Nur-Text-Hinweise" umzusetzen.
 
Zurück