PDIB CDib::LoadDibFromResource(HINSTANCE hInstance, LPCSTR lpResource, HPALETTE hPal, BOOL bMapToLevels, BOOL fDecodeRLE) /***********************************************************************/ { PDIB pHTdib; PDIB pdib = new CDib(); if (!pdib) return(NULL); if (!pdib->LoadFromResource(hInstance, lpResource, fDecodeRLE)) { delete pdib; return(NULL); } if (bMapToLevels) { pdib->ConvertToLevels(); } else if (hPal) { if ( pHTdib = pdib->HalftoneDIB( hPal ) ) { delete pdib; pdib = pHTdib; } else pdib->MapToPalette( hPal ); } return(pdib); }
//************************************************************************ PDIB CDib::LoadDibFromFile(LPCSTR lpFileName, HPALETTE hPal, BOOL bMapToLevels, BOOL fDecodeRLE) //************************************************************************ { PDIB pHTdib; PDIB pdib = new CDib(); if (!pdib) return(NULL); if (!pdib->LoadFromFile(lpFileName, fDecodeRLE)) { delete pdib; return(NULL); } if (bMapToLevels) { pdib->ConvertToLevels(); } else if (hPal) { if ( pHTdib = pdib->HalftoneDIB( hPal ) ) { delete pdib; pdib = pHTdib; } else pdib->MapToPalette( hPal ); } return(pdib); }