ERMsg CDib::SaveImage(const CString& filePath, REFGUID guidFileType, int bpp)const { ASSERT( guidFileType != GUID_NULL || !UtilWin::GetFileExtension(filePath).IsEmpty() ); ERMsg message; if( bpp == -1) { bpp = GetBPP(); } else if( bpp != GetBPP()) { CDib dib; dib.Copy( *this, bpp); return dib.SaveImage(filePath, guidFileType); } if( FAILED(Save(filePath, guidFileType))) { CString error; error.FormatMessage(IDS_BSC_UNABLE_OPEN_WRITE, filePath ); message.ajoute( UtilWin::ToUTF8(error) ); } return message; }