GDI+ Metadaten mit GetAllPropertyItems

  • Liebe Community,

    ich möchte gerne von einem Bild Metadaten abfragen. Ich will dafür die GDI+-Funktion "GetAllPropertyItems" benutzen und habe folgende Funktionen erstellt:

    Diese Funktionen rufe ich folgendermaßen auf:

    Leider funktioniert die zweite Funktion (_GDIPlus_GdipGetAllPropertyItems) nicht. Es werden nicht die gewünschten Daten übergeben. Kann mir jemand sagen woran das hängt?
    Vielen Dank für eure Tipps!

  • AutoIt
    $__g_hGDIPDll

    Der Variablen wird nie ein Wert zugewiesen.

    AutoIt
    DllCall($__g_hGDIPDll, "int", "GdipGetAllPropertyItems", "handle", $hImage, "uint", $totalBufferSize, "uint", $numProperties, "struc*", DllStructGetPtr($tStruct))

    "struc*" -> "struct*"
    Interessanter Weise beim DLLCall von GDIpGetAllPropertyItems mit "struc*" eine 1 zurück und mit "struct*" schmiert das Programm ab.

    ~IRC: irc.afterworkchat.de #autoit

    2 Mal editiert, zuletzt von Photon (21. Juli 2016 um 10:30)

  • Hallo Photon,

    ich habe dummerweise die globale Variable "$__g_hGDIPDll = 0" beim kopieren vergessen... Sie ist bei den Funktionen deklariert und zugewiesen:

    Code
    Global $__g_hGDIPDll = 0

    Der Variablentyp muss natürlich auch "struct*" heißen. Danke für die Korrekturen.

    Leider komm ich an diesem Punkt immer noch nicht weiter...
    Muss ich die Struktur noch entsprechend dimensionieren, damit das Programm nicht abschmiert? Bei einem Script für AutoHotkey habe ich etwas ähnliches gefunden (https://autohotkey.com/board/topic/85…llpropertyitems)

    Weiß jemand weiter?