deck_bsd
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
2
23 sept. 2006 à 16:44
Ben cela ne fonctionne pas, aparement je récupère bien les pixel des deux images, mais lors de la comparaison si j'en change un il me dit quand mm que les images sont identiques :s . Voici comment je fait en gros :
/* image 1. */
HBITMAP hBmp = LoadImage(GlobalHInstance,"signature.bmp",IMAGE_BITMAP,100,160,LR_LOADFROMFILE);
HANDLE haFile = CreateFile("signature.bmp",GENERIC_READ,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if(haFile == INVALID_HANDLE_VALUE)MessageBox(hwnd,"fuck off","rated",MB_OK);
DWORD dwSize = GetFileSize(haFile,NULL);
CloseHandle(haFile);
iTabPixel = (char*) HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,dwSize);
if(GetBitmapBits(hBmp,dwSize,iTabPixel) == 0)MessageBox(hwnd,"GetBitmapBits()","error",MB_OK);
/* image 2. */
HBITMAP hBmp2 = LoadImage(GlobalHInstance,"signature2.bmp",IMAGE_BITMAP,100,160,LR_LOADFROMFILE);
HANDLE haFile2 = CreateFile("signature2.bmp",GENERIC_READ,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if(haFile2 == INVALID_HANDLE_VALUE)MessageBox(hwnd,"fuck off","rated",MB_OK);
DWORD dwSize2 = GetFileSize(haFile2,NULL);
CloseHandle(haFile2);
iTabPixel_2 = (char*) HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,dwSize2);
if(GetBitmapBits(hBmp2,dwSize2,iTabPixel_2) == 0)MessageBox(hwnd,"GetBitmapBits()","error 2",MB_OK);
//if(dwSize != dwSize2)MessageBox(hwnd,"Differents sizes","error",MB_OK);
//else{
int x,y; for(x 0 , y 0; x < dwSize ,y < dwSize2 ; x++ , y++){
if((iTabPixel[x] != iTabPixel_2[y])){
MessageBox(hwnd,"Not same","not",MB_OK);
break;}
}
MessageBox(hwnd,"same","OK",MB_OK);
//}
HeapFree(GetProcessHeap(),0,iTabPixel);
HeapFree(GetProcessHeap(),0,iTabPixel_2);
Merci d'avance.