Exemple #1
-2
BOOL	
CResponseParser::SaveAsImage( const wchar_t* lpszPath,const char* lpszContentData, 
									 uint32 dwContentSize, DWORD dwType)
{
	CxImage image;

	bool bRet = false;

	DWORD dwFileType = CResponseParser::CheckImageFileHeader( (BYTE*)lpszContentData, dwContentSize);
	if( dwFileType == CXIMAGE_FORMAT_BMP )
	{
		bRet = image.Decode( (BYTE*)lpszContentData, dwContentSize, CXIMAGE_FORMAT_BMP);
	}
	else if( dwFileType == CXIMAGE_FORMAT_GIF)
	{
		bRet = image.Decode( (BYTE*)lpszContentData, dwContentSize, CXIMAGE_FORMAT_GIF);
	}
	else if( dwFileType == CXIMAGE_FORMAT_JPG )
	{
		bRet = image.Decode( (BYTE*)lpszContentData, dwContentSize, CXIMAGE_FORMAT_JPG);
	}
	else if( dwFileType == CXIMAGE_FORMAT_PNG)
	{
		bRet = image.Decode( (BYTE*)lpszContentData, dwContentSize, CXIMAGE_FORMAT_PNG);
	}

	if( bRet == true)
	{
		if( dwType == CXIMAGE_FORMAT_BMP)
		{
			return image.SaveW( lpszPath, CXIMAGE_FORMAT_BMP);
		}
		else if( dwType == CXIMAGE_FORMAT_GIF)
		{
			return image.SaveW( lpszPath, CXIMAGE_FORMAT_GIF);
		}
		else if( dwType == CXIMAGE_FORMAT_JPG)
		{
			return image.SaveW( lpszPath, CXIMAGE_FORMAT_JPG);
		}
		else if( dwType == CXIMAGE_FORMAT_PNG)
		{
			return image.SaveW( lpszPath, CXIMAGE_FORMAT_PNG);
		}
		else
			return image.SaveW( lpszPath, CXIMAGE_FORMAT_BMP);
	}

	return FALSE;
}