#1  
Alt 06.01.2010
Benutzerbild von Kai
Kai Kai ist offline
Imabas-Entwickler
Admin
Oberguru
Registriert seit: 11.2003
Ort: Holzwickede
Beiträge: 2.755
Kai befindet sich auf einem aufstrebenden Ast
Standard Importieren von Bildern in die Datenbank

In diesem Beispiel wird gezeigt wie man auf einfache Art&Weise Bilder per SDK in die Datenbank importieren kann.

!!!Wichtig!!!
Damit das SDK einwandfrei mit den Bildern die Imabas unterstützt umgehen kann, ist ein externes Tool notwendig. Dieses wird vom SDK entsprechend aufgerufen und erzeugt die Thumb- bzw. Previewbilder im Filmeordner. Des Weiteren liefert das Tool die Exif- und Iptc-Daten für den Import...

Den Resizer kann man hier herunterladen:
http://www.pixandmore.de/repository/...va/resizer.zip
Einfach in einem Ordner entpacken und den Pfad zum Executable wie unten beschrieben angeben.

java Code:
  1. package importing;
  2.  
  3. import java.io.File;
  4. import com.imabas.api.ImageImporter;
  5. import com.imabas.db.MySQLDataBase;
  6. import com.imabas.objects.Film;
  7.  
  8. public class Demo {
  9.  
  10.    public static void main(String[] args) throws Exception {
  11.  
  12.       MySQLDataBase db = new MySQLDataBase("nvx", "jtest", "benutzer", "kennwort");
  13.       db.setDataBaseDir("d:\\jtest\\");
  14.  
  15.       ImageImporter importer = new ImageImporter();
  16.       importer.setResizer(new File("d:/resizer/resizer.exe"));
  17.       importer.setMoveImage(true);
  18.  
  19.       db.openConnection().setAutoCommit(false);
  20.       try {
  21.          importer.setFilm(Film.getTable(db).find("7D6129DE312945CDADF3C3D07B278E01"));
  22.          if ( importer.importImage(new File("d:/bilder/bild1.jpg")) )
  23.             System.out.println("Imported!");
  24.  
  25.          importer.setFilm(Film.getTable(db).find("AAE51991D09D4AB79015EC2257E6D4BF"));
  26.          if ( importer.importImage(new File("d:/bilder/bild2.jpg")) )
  27.             System.out.println("Imported!");
  28.  
  29.          db.openConnection().commit();
  30.       } finally {
  31.          db.openConnection().rollback();
  32.          db.openConnection().setAutoCommit(true);
  33.       }
  34.    }
  35. }
__________________
Mit freundlichen Grüßen
Kai Brendel
Mit Zitat antworten
  #2  
Alt 21.01.2010
Benutzerbild von Kai
Kai Kai ist offline
Imabas-Entwickler
Admin
Oberguru
Registriert seit: 11.2003
Ort: Holzwickede
Beiträge: 2.755
Kai befindet sich auf einem aufstrebenden Ast
Standard AW: Importieren von Bildern in die Datenbank

Nachtrag: Die Anwendung resizer.exe gibt es nicht mehr, dafür wird eine DLL Namens imajni.dll benötigt.
__________________
Mit freundlichen Grüßen
Kai Brendel
Mit Zitat antworten
  #3  
Alt 22.01.2010
Benutzerbild von feuster
feuster feuster ist offline
Professional
Registriert seit: 12.2003
Ort: Barcelona
Beiträge: 235
feuster befindet sich auf einem aufstrebenden Ast
Standard AW: Importieren von Bildern in die Datenbank

Hallo Kai,

ich vermute mal, dass die auch beim Export benutzt wird? Wenn ja, gibts irgend eine Möglichkeit, sie zu wrappen, dass ich sie aus Java benutzten kann? Dann würde einem kompletten Export via Java nix mehr im Wege stehen

Tschau,
Thomas
__________________
Thomas

bilder.feuster.com
Mit Zitat antworten
  #4  
Alt 23.01.2010
Benutzerbild von Kai
Kai Kai ist offline
Imabas-Entwickler
Admin
Oberguru
Registriert seit: 11.2003
Ort: Holzwickede
Beiträge: 2.755
Kai befindet sich auf einem aufstrebenden Ast
Standard AW: Importieren von Bildern in die Datenbank

Hallo Thomas,
leider nein, das SDK greift gar nicht direkt auf Imabas zu. Ich nutze aber in dem Import eine neue Klasse ImageProcessor die per JNI auf eine DLL zugreift, und diese DLL bietet das gleiche Image Processing wie in Imabas...

Ich werde in den nächsten Tagen die Klasse ImageProcessor aber noch erweitern, so das man Bilder gezielt verkleinern und exportieren kann. In etwa der Klasse TIImage in den Aktionen....
__________________
Mit freundlichen Grüßen
Kai Brendel
Mit Zitat antworten
  #5  
Alt 03.02.2010
Benutzerbild von Kai
Kai Kai ist offline
Imabas-Entwickler
Admin
Oberguru
Registriert seit: 11.2003
Ort: Holzwickede
Beiträge: 2.755
Kai befindet sich auf einem aufstrebenden Ast
Standard AW: Importieren von Bildern in die Datenbank

Hallo Thomas,
in der neuesten Version des SDK gibt es nun auch einen ImageProcessor mit dem du Bilder verkleinern und exportieren kannst:

Guckst du: http://javadoc.imabas.com/com/imabas...Processor.html
__________________
Mit freundlichen Grüßen
Kai Brendel
Mit Zitat antworten
  #6  
Alt 04.02.2010
Benutzerbild von feuster
feuster feuster ist offline
Professional
Registriert seit: 12.2003
Ort: Barcelona
Beiträge: 235
feuster befindet sich auf einem aufstrebenden Ast
Standard AW: Importieren von Bildern in die Datenbank

Cool!

Jetzt muss ich nur wieder mal dazu kommen, was damit zu machen... Bin gerade viel unterwegs.
__________________
Thomas

bilder.feuster.com
Mit Zitat antworten
  #7  
Alt 02.05.2010
Benutzerbild von feuster
feuster feuster ist offline
Professional
Registriert seit: 12.2003
Ort: Barcelona
Beiträge: 235
feuster befindet sich auf einem aufstrebenden Ast
Standard AW: Importieren von Bildern in die Datenbank

Hallo Kai,

nach nur 2 Monaten komme ich dazu, einmal ImageProcessor aus Java heraus nutzen zu wollen. Leider haut es mich mit einem

Code:
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (0xeedfade), pid=3272, tid=360
und einem dump raus

Bevor ich nun in die Tiefen der Bits einsteige: hast du vielleicht eine Testimplementierung, die ich einfach mal bei mir laufen lassen kann?
__________________
Thomas

bilder.feuster.com
Mit Zitat antworten
  #8  
Alt 05.05.2010
Benutzerbild von Kai
Kai Kai ist offline
Imabas-Entwickler
Admin
Oberguru
Registriert seit: 11.2003
Ort: Holzwickede
Beiträge: 2.755
Kai befindet sich auf einem aufstrebenden Ast
Standard AW: Importieren von Bildern in die Datenbank

Hallo Thomas,
diese Meldung taucht auf wenn ein Fehler im JNI auftritt, als irgendwas in der DLL nicht klappt. Kontrollier mal ob du wirklich die "aktuellen" Versionen benutzt. Irgendwo in den Java-Ordner schreibt Java auch noch ein erweitertes Logfile raus. Vielleicht kann man darin sehen wo es hakt?
__________________
Mit freundlichen Grüßen
Kai Brendel
Mit Zitat antworten
  #9  
Alt 05.05.2010
Benutzerbild von feuster
feuster feuster ist offline
Professional
Registriert seit: 12.2003
Ort: Barcelona
Beiträge: 235
feuster befindet sich auf einem aufstrebenden Ast
Standard AW: Importieren von Bildern in die Datenbank

Hallo Kai,

nachdem ich mir mal mit filemon angeschaut habe, was javaw.exe so macht, habe ich den Fehler gefunden:

Das Verzeichnis hat nicht existiert, in das ich mit ImageProcessor.exportMaxSide exportieren wollte!

Jaja, das ist natürlich ein Fehler... Aber könnte man den evtl. etwas liebevoller behandeln
__________________
Thomas

bilder.feuster.com
Mit Zitat antworten
Antwort

Stichworte
java sdk importieren

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Pascal Importieren von Bildern eines Ordners Kai Skripte 6 06.01.2010 07:50
Importieren von Bildern mit Volume Kai Tutorials / ScreenCasts 0 27.11.2008 13:28


Powered by vBulletin® Version 3.7.1 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.