Ejemplo n.º 1
0
BOOL CGifImage::SaveAsFile(LPCTSTR pszFileName)
{
	if (NULL == pszFileName || NULL == m_pImage)
		return FALSE;

	LPCTSTR lpExtension = _tcsrchr(pszFileName, _T('.'));
	if (NULL == lpExtension)
		return FALSE;

#if defined(UNICODE) || defined(_UNICODE)
	CLSID clsid = GetEncoderClsidByExtension(lpExtension);
#else
	CLSID	clsid = CLSID_NULL;
	LPCWSTR pszExtensionW = AnsiToUnicode(lpExtension);
	if (pszExtensionW != NULL)
	{
		clsid = GetEncoderClsidByExtension(pszExtensionW);
		delete pszExtensionW;
	}
#endif
	
	if (CLSID_NULL == clsid)
		return FALSE;

#if defined(UNICODE) || defined(_UNICODE)
	Gdiplus::Status status = m_pImage->Save(pszFileName, &clsid, NULL);
#else
	Gdiplus::Status status = Gdiplus::GenericError;
	LPCWSTR pszFileNameW = AnsiToUnicode(pszFileName);
	if (pszFileNameW != NULL)
	{
		status = m_pImage->Save(pszFileNameW, &clsid, NULL);
		delete pszFileNameW;
	}
#endif
	return (status != Gdiplus::Ok) ? FALSE : TRUE;
}
Ejemplo n.º 2
0
BOOL CGifImage::SaveAsFile(LPCTSTR pszFileName)
{
	if (NULL == pszFileName || NULL == m_pImage)
		return FALSE;

	LPCTSTR lpExtension = _tcsrchr(pszFileName, _T('.'));
	if (NULL == lpExtension)
		return FALSE;

	CLSID clsid = GetEncoderClsidByExtension(lpExtension);
	if (CLSID_NULL == clsid)
		return FALSE;

	Gdiplus::Status status = m_pImage->Save(pszFileName, &clsid, NULL);
	return (status != Gdiplus::Ok) ? FALSE : TRUE;
}