Einzelnen Beitrag anzeigen

ThE_-_BliZZarD

Registriert seit: 15. Sep 2006
Ort: Wiesbaden/Hessen
89 Beiträge
 
Delphi 2010 Professional
 
#1

ImageMagick - MagickGetSize

  Alt 25. Nov 2007, 17:53
Hallihallo liebe Gemeinde,

ich habe versucht mit der ImageMagick-Bibliothek zu arbeiten. Soweit klappt das auch alles ganz gut, nur würde ich z.B. gerne erfahren, wie groß mein Bild eigentlich ist.

Im API und in der DLL gibt es eine Funktion mit folgendem C-Header:

Code:
WandExport MagickBooleanType MagickGetSize(const MagickWand *wand,
  unsigned long *columns,unsigned long *rows)
{
  RectangleInfo
    geometry;

  assert(wand != (const MagickWand *) NULL);
  assert(wand->signature == WandSignature);
  if (wand->debug != MagickFalse)
    (void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
  (void) ResetMagickMemory(&geometry,0,sizeof(geometry));
  (void) ParseAbsoluteGeometry(wand->image_info->size,&geometry);
  *columns=geometry.width;
  *rows=geometry.height;
  return(MagickTrue);
}
In meinem Delphiprogramm rufe ich die Funktion auf:
Delphi-Quellcode:
function MagickGetSize(wand: PMagickWand; cols, rows : PCardinal): MagickBooleanType; cdecl; external WandExport index 311;

var
 ori_width, ori_height: Cardinal;
begin
// Wand ist vom Typ PMagickWand und ist initalisiert etc pp.. da kann der Fehler nicht liegen
if (MagickGetSize(wand, @ori_width, @ori_height) = MagickTrue) then begin
   showmessage('blub'); // WIRD angezeigt
end;

end;
Könnte mir jemand verraten, ob ich den Header der Funktion falsch geportet habe? wie könnte man es anders machen? Ich wäre wirklich rieeßig dankbar wenn sich das mal jemand anschauen könnte.

Infos:
Download von ImageMagick (den DLL's): ImageMagick-6.3.7-1-Q16-windows-dll.exe
Download der Delphi-Header usw.: PascalMagick (DelphiHeader für ImageMagick DLL's)

P.S.: Nein, es gibt KEINE Dokumentation für den Delphikram..^^ Sonst hätte ich sie schon gelesen.
MSVC2008 (C/C++ with QT), Delphi RAD 2010, Flash CS5 (FDT/Adobe), Java EE (Eclipse), PHP5
Antwortsprachen: Deutsch, Englisch, Französisch, Japanisch
  Mit Zitat antworten Zitat