Autor Thema: Java bild laden  (Gelesen 6163 mal)

Offline xyungel

  • Frischling
  • *
  • Beiträge: 8
Java bild laden
« am: 17.02.10 - 11:34:01 »
Hallo Notes-(Java-)freunde ;)

ich habe ein Problem beim laden von Bildressourcen in Java.
Unter Notes 8.5.1 habe ich unter dem Punkt Ressourcen ein Bild "logo.jpg" hinzugefügt.
Wie kann ich denn diese Datei in meine NotesAgent class laden?

Beim versuch mit

Code
java.awt.Image awtImg = java.awt.Toolkit.getDefaultToolkit().createImage("Res\\logo.jpg");
com.lowagie.text.Image image2 = com.lowagie.text.Image.getInstance(awtImg, null);

bekomme ich folgende Fehlermeldung in der Javaconsole:

Code
java.io.IOException: java.awt.Image fetch aborted or errored
	at com.lowagie.text.Image.getInstance(Unknown Source)
	at com.lowagie.text.Image.getInstance(Unknown Source)
	at JavaAgent.NotesMain(Unknown Source)
	at lotus.domino.AgentBase.runNotes(Unknown Source)
	at lotus.domino.NotesThread.run(Unknown Source)

Hat jemand von euch eine Idee? Bzw. ist es überhaupt möglich diese Ressourcen zu nutzen?

Vielen Dank schonmal

Stefan
« Letzte Änderung: 17.02.10 - 11:38:15 von xyungel »

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java bild laden
« Antwort #1 am: 17.02.10 - 15:07:57 »
Wenn du magst, kannst du die jpg testweise irgendwo ins Dateisystem legen und dann mit dem folgenden Code drauf zugreifen:

Code

String pthImg = "C:/temp/logo.nsf";

java.awt.Image awtImg = java.awt.Toolkit.getDefaultToolkit().createImage(pthImg);
if (awtImg == null) throw new IllegalStateException("Die Datei \"" + pthImg + "\" kann nicht geladen werden. PDF Generierung wird abgebrochen.");
com.lowagie.text.Image image2 = com.lowagie.text.Image.getInstance(awtImg, null);

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java bild laden
« Antwort #2 am: 17.02.10 - 15:48:05 »
Ich hab das letztens so gelöst, dass ich das Image in einem RT Feld von einem Konfig-Dokument hatte (so ist es vom Anwender änderbar). Das kopiere ich dann als Datei (geht) in das Temp Direktory des Servers. Geht mit System.getProperty(tryGoogle);
Der Agent für PDF-Generierung checkt dann, ob diese Datei vorhanden ist (File.exists()). Wenn false, dann kopier die erstmal rüber. Auf Dateien in tempdir kannst du dann per absoluten Pfad drauf zugreifen.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline xyungel

  • Frischling
  • *
  • Beiträge: 8
Re: Java bild laden
« Antwort #3 am: 17.02.10 - 16:55:47 »
Danke für die Antwort.

hab jetzt noch eine Lösung gefunden. Vllt. ja auch für dich hilfreich:

Code
java.awt.Image awtImg = ImageIO.read(this.getClass().getClassLoader().getResourceAsStream("logo.jpg"));

Damit bekommt man den InputStream und kann diesen in ein Bild umwandeln.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java bild laden
« Antwort #4 am: 17.02.10 - 22:24:38 »
Gut zu wissen.  ;D Weiß allerdings nicht, ob das mit Notes 7 funktioniert.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline xyungel

  • Frischling
  • *
  • Beiträge: 8
Re: Java bild laden
« Antwort #5 am: 18.02.10 - 13:21:57 »
scheint zu funktionieren.

eine andere alternative:

ich lade mir das bild in ein RT-Item im profilDoc
und hole mir dann das embedded object und lese den inputstream ein.

Code
EmbeddedObject eo = pdoc.getAttachment("logo.jpg");
java.awt.Image awtImg = ImageIO.read(eo.getInputStream());

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Java bild laden
« Antwort #6 am: 18.02.10 - 13:27:03 »
Cool. Allerdings würd ich sowas nie in einem Notes Profil-Dokument sondern in einem "normalen" Dokument speichern, weil die Inhalte von Profil-Dokumenten manchmal seltsam gecached werden. Zumindest haben wir bei solchen Anwendungsfällen schlechte Erfahrungen mit Profil-Dokumenten gemacht.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz