0

我以为这是我的错,但是编写了更简单的代码仍然失败:

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 中失败了,但我无法想象为什么因为 infloat 似乎没问题而且位图也没问题。

请注意,如果我制作: FIBITMAP *pImage = FreeImage_ConvertTo24Bits(bitmap);

它也可以。

欢迎任何帮助!

4

0 回答 0