2012-12-27 16 views
5

Nie można understnand co jest nie tak z tym kodem:HBITMAP bitmapę do konwersji

HBITMAP bm = 0; 
BITMAP Bitmap; 
bm = (HBITMAP)LoadImage (0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); 
int error = GetObject(&Bitmap, sizeof(BITMAP ), &bm); 

LoadImage zwraca non pustego wskaźnika. Jednak GetObject zwraca 0, co wskazuje na błąd. Chcę uzyskać informacje o rozmiarze i danych obrazu ze wskaźnika HBITMAP (wskaźnik można przekazać jako parametr, więc nie mogę zmienić sposobu ładowania pliku bitmapy).

Odpowiedz

8

Może wprowadzenie parametrów w odpowiednich miejscach pomogą:

HBITMAP bm = 0; 
BITMAP Bitmap; 
bm = (HBITMAP)LoadImage (0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); 
int error = GetObject(bm, sizeof(BITMAP), &Bitmap); // << NOTE ORDERING 

Zobacz dokumentację na GetObject() aby uzyskać więcej informacji.

+0

Dzięki, działa :) – maximus

+0

@maximus Bez problemu. miło, że mogłem pomóc. – WhozCraig