#include <Standard_WarningsRestore.hxx>
#undef min
#undef max
+
+ #ifdef _MSC_VER
+ #pragma comment(lib, "Ole32.lib")
+ #endif
#endif
#include <Image_AlienPixMap.hxx>
return false;
}
+ Image_Format aFormat = Image_Format_UNKNOWN;
if (FreeImage_GetBPP (anImage) == 1)
{
FIBITMAP* aTmpImage = FreeImage_ConvertTo8Bits (anImage);
FreeImage_Unload (anImage);
anImage = aTmpImage;
}
-
- Image_Format aFormat = convertFromFreeFormat (FreeImage_GetImageType(anImage),
- FreeImage_GetColorType(anImage),
- FreeImage_GetBPP (anImage));
+ if (anImage != NULL)
+ {
+ aFormat = convertFromFreeFormat (FreeImage_GetImageType(anImage),
+ FreeImage_GetColorType(anImage),
+ FreeImage_GetBPP (anImage));
+ if (aFormat == Image_Format_UNKNOWN)
+ {
+ FIBITMAP* aTmpImage = FreeImage_ConvertTo24Bits (anImage);
+ FreeImage_Unload (anImage);
+ anImage = aTmpImage;
+ if (anImage != NULL)
+ {
+ aFormat = convertFromFreeFormat (FreeImage_GetImageType(anImage),
+ FreeImage_GetColorType(anImage),
+ FreeImage_GetBPP (anImage));
+ }
+ }
+ }
if (aFormat == Image_Format_UNKNOWN)
{
- //anImage = FreeImage_ConvertTo24Bits (anImage);
- ::Message::DefaultMessenger()->Send ( TCollection_AsciiString ("Error: image '") + theImagePath + "' has unsupported pixel format.",
+ ::Message::DefaultMessenger()->Send (TCollection_AsciiString ("Error: image '") + theImagePath + "' has unsupported pixel format.",
Message_Fail);
return false;
}