私はそれが私のせいだと思っていましたが、もっと単純なコードを作成してもまだ失敗します:
FIBITMAP* infloat = FreeImage_ConvertToRGBF(bitmap);
FreeImage_Save(fifpng, bitmap, "D:\\orig.png", 0); //THIS WORKS OK
FreeImage_Save(fifexr, infloat, "D:\\justTest.exr", 0); //THIS WORKS OK
FIBITMAP *pImage = FreeImage_ConvertTo24Bits(infloat);
if (pImage == NULL)
printf("CONVERSION FAILED\n");
FreeImage_ConvertTo24Bits と FreeImage_ConvertTo32Bits で失敗しましたが、インフロートは問題ないようで、ビットマップも問題ないように見えるので、その理由は想像できません。
次のようにすると注意してください: FIBITMAP *pImage = FreeImage_ConvertTo24Bits(bitmap);
それも正常に動作します。
どんな助けでも大歓迎です!