Re: Api Windows
Posté par Anonyme le 16/12/2005 14:33:38
Merci !! j'ai corrigé mais ca fonctions toujours pas , c'est la première fois qu'une api me pose autant problème !
Le but est de recupérer les valeurs du champs "image1"
J'ai vérifié en VB ( la structure BITMAPINFOHEADER fait bien 40 octets )
As tu une idée ???
BITMAPINFOHEADER est une structure
biSize est un entier sur 4 octets sans signe //Type C : DWORD
biWidth est un entier //Type C : LONG
biHeight est un entier //Type C : LONG
biPlanes est un entier sur 2 octets sans signe //Type C : WORD
biBitCount est un entier sur 2 octets sans signe //Type C : WORD
biCompression est un entier //Type C : DWORD
biSizeImage est un entier sur 4 octets sans signe//Type C : DWORD
biXPelsPerMeter est un entier //Type C : LONG
biYPelsPerMeter est un entier //Type C : LONG
biClrUsed est un entier sur 4 octets sans signe //Type C : DWORD
biClrImportant est un entier sur 4 octets sans signe //Type C : DWORD
// Long data type = entier sur 4 octets avec signe
FIN
RGBQUAD est une structure
rgbBlue est un caractère //Type C : BYTE
rgbGreen est un caractère //Type C : BYTE
rgbRed est un caractère //Type C : BYTE
rgbReserved est un caractère //Type C : BYTE
FIN
BITMAPINF est une structure
bmiHeader est un BITMAPINFOHEADER //BITMAPINFOHEADER est une autre structure
bmiColors est un RGBQUAD //RGBQUAD est une autre structure
FIN
RGBQ1 est un tableau de 100*100 RGBQUAD
Trace(Dimension(RGBQ1))
BMPINFO est un BITMAPINF
BMPINFOH est un BITMAPINFOHEADER
BMPINFOH:biBitCount = 32 // ou 24 si on veut
BMPINFOH:biHeight = 100
BMPINFOH:biWidth = 100
BMPINFOH:biPlanes = 1
BMPINFOH:biCompression = 0
BMPINFOH:biSize = Dimension(BMPINFOH)
BMPINFO:bmiHeader = BMPINFOH
RetourFonction est un entier // Type C :INT
hImage1 est un entier = Handle("image1")
hdc est un entier = AppelDLL32("user32", "GetDC", hImage1)
RetourFonction=API("GDI32","GetDIBits",hdc,hImage1,10,100,&RGBQ1,&BMPINFO,0)
Trace(RetourFonction)
// RetourFonction renvoi le nombre de lignes copiées en mémoire sinon =0 en échec !!!!
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=5&topic_id=330&post_id=13677