//Use case : Image::Display source code: void Image::Display(HDC hdc, int x,int y) { BITMAPINFO bi; BITMAPINFO *pToUse; if(_SurfaceFormat==nmpPhysics::Enums::BW8) { pToUse=(BITMAPINFO *) new BYTE[sizeof(BITMAPINFO)+sizeof(RGBQUAD)*256]; FillImageIndexedBitmapInfo(pToUse); } else { FillImageBitmapInfo(&bi); pToUse=&bi; } int ret=SetDIBitsToDevice(hdc,x,y,pToUse->bmiHeader.biWidth,pToUse->bmiHeader.biHeight,0,0,0,pToUse->bmiHeader.biHeight,(BYTE*)_ImageBuffer.GetData(),pToUse,DIB_RGB_COLORS); if(pToUse != &bi) delete [] pToUse; } //See Image.cpp