Пример #1
0
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);
}
Пример #2
0
//************************************************************************
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);
}