lol yea its a long int. heres the code, but i haven't figured this bit out yet. Code: #include #include #include BYTE* loadPicture(void) { HANDLE hBitMap = LoadImage(0, "img.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); BITMAP bitmap; GetObject(hBitMap,sizeof(BITMAP),&bitmap); int size = bitmap.bmHeight*bitmap.bmWidth*bitmap.bmBitsPixel/8; printf("%d %d %d %d \n", bitmap.bmHeight, bitmap.bmWidth, bitmap.bmBitsPixel, size); BYTE *lpBits = malloc(size); GetBitmapBits((HBITMAP)hBitMap,size,lpBits ); return lpBits; } ...