Aktuelle Zeit: 22.05.2013 14:02

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Metadaten in JPEG lesen und bearbeiten
BeitragVerfasst: 25.09.2011 21:38 
Offline

Registriert: 18.10.2005 16:43
Wohnort: Raum Hildesheim
Hallo Community,
ich möchte mit meinem Programm die Metadaten aus JPEGs lesen und bearbeiten können.
Ich bin schon ein paar Tage am suchen und testen doch brauche ich nun Hilfe.

Ich habe herausgefunden, dass der Einfachste Weg die Benutzung der FreeImage.dll ist, jedoch liegt genau dort mein erstes Problem.

Mein Programm öffnet bereits die DLL und leist die komplett verfügbaren Funktionen ein und zeigt sie mit an.
Ich kann mir auch die Copyright und Versionsinformationen anzeigen lassen, versuche ich aber die den FileType auszulesen, schlägt dies fehl.

Das erkenne ich am Rückgabewert -1 (fif unkown)

Ich vermute, dass es mit dem Dateinamen zu tun hat, dass ich diesen nicht richtig übergebe.
Die angegebene Datei existiert, das habe ich geprüft.
Ich habe es auch nur mit dem Dateinamen versucht und das Bild in das gleiche Verzeichnis, wie den Quelltext bzw. die DLL kopiert, auch hier klappt es nicht.

Der ErrorMessageHandler wirft mir auch keine passenden Infos aus.
Hat vielleicht jemand eine Idee?

Gruß scoty


Code:
#FIF_UNKNOWN = -1


Prototype FreeImage_GetFileType(filename.s,flags.l=0)
Prototype RWFreeImage_GetFormatFromFIF  (fif.l)
Prototype FreeImage_GetFormatFromFIF    (fif.l)

Global FreeImage_GetFileType.FreeImage_GetFileType=GetFunction(0,"_FreeImage_GetFileType@8")
Global RWFreeImage_GetFormatFromFIF . RWFreeImage_GetFormatFromFIF  = GetFunction(0, "_FreeImage_GetFormatFromFIF@4")
Global FreeImage_GetFormatFromFIF   . FreeImage_GetFormatFromFIF    = GetFunction(0, "_FreeImage_GetFormatFromFIF@4")

Procedure Sample_FreeImageErrorHandler(fif.l, message.l)
   Debug " *** Sample_FreeImageErrorHandler START"
   If fif <> #FIF_UNKNOWN
      Debug PeekS(CallFunction(0, "_FreeImage_GetFormatFromFIF@4", fif))+" Format"
   EndIf
   Debug PeekS(message, -1, #PB_Ascii)
   Debug " *** Sample_FreeImageErrorHandler END"
EndProcedure

If OpenFile(0, "c:\dll\FreeImage.dll")
    Debug "Die Biblithek wurde ortnungsgemäß gefunden"
    Debug " "
    CloseFile(0)
  Else
    Debug "Die Bibliothek FreeImage konnte nicht gefunden werden!"
EndIf

Debug "Bibliothek wird geöffnet:"
If OpenLibrary(0, "c:\dll\FreeImage.dll")
  Else
    Debug "Die Bibliothek FreeImage konnte nicht geöffnet werden!"
    End
EndIf
 

Debug "Bibliothek durchsuchen:"
If ExamineLibraryFunctions(0)
  Debug ""
  Debug "Funtionsnamen:"
  While NextLibraryFunction()
      Debug LibraryFunctionName()
  Wend 
EndIf

Debug ""
Debug "Version: "+PeekS(CallFunction(0, "_FreeImage_GetVersion@0"))
Debug PeekS(CallFunction(0, "_FreeImage_GetCopyrightMessage@0"))
Debug CallFunction(0, "_FreeImage_Initialise@4", #False)
Debug PeekS(CallFunction(0, "_FreeImage_SetOutputMessage@4", @Sample_FreeImageErrorHandler()))

imgpath.s="c:\Bild.JGP"
;imgpath.s="Bild.JGP"
Debug imgpath

*pointer = AllocateMemory(Len(imgpath)+10)
PokeS(*pointer, imgpath, -1, #PB_Ascii)
Debug PeekS(*pointer)
 fif = CallFunction(0, "_FreeImage_GetFileType@8", *pointer, 0)
;fif = FreeImage_GetFileType(imgpath, 0)
If fif = #FIF_UNKNOWN
  Debug "FIF_UNKNOWN"
  fif = CallFunction(0, "_FreeImage_GetFIFFromFilename@4", *pointer)
  If fif = #FIF_UNKNOWN
    Debug "FIF_UNKNOWN"
  EndIf
EndIf

Debug CallFunction(0, "_FreeImage_FIFSupportsReading@4", fif)
Debug CallFunction(0, "_FreeImage_Load@12", fif, *pointer, 0)
Debug PeekS(CallFunction(0, "_FreeImage_SetOutputMessage@4", @Sample_FreeImageErrorHandler()))

FreeMemory(*pointer)

CloseLibrary(0)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Metadaten in JPEG lesen und bearbeiten
BeitragVerfasst: 25.09.2011 22:10 
Offline

Registriert: 18.10.2005 16:43
Wohnort: Raum Hildesheim
Ich hatte meinen Quelltext vergessen, sorry


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Metadaten in JPEG lesen und bearbeiten
BeitragVerfasst: 25.09.2011 23:06 
Offline
Benutzeravatar

Registriert: 12.06.2005 11:15
Wohnort: Germany
:mrgreen:

Code:
imgpath.s="c:\Bild.JGP"

jetzt müsstest du selbst drauf kommen. ^^

_________________
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Metadaten in JPEG lesen und bearbeiten
BeitragVerfasst: 25.09.2011 23:23 
Offline

Registriert: 18.10.2005 16:43
Wohnort: Raum Hildesheim
! ! ! DANKE ! ! !

Kaum zu glauben, aber ich musst die Zeile noch ca. eine Minute lang anstarren, bis ich den Fehler erkannt habe.

Es ist eben Schwierige einen Wald zwischen Bäumen zu finden .........


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye