我正在尝试使用 FreeImage.Net 库打开图像并将其转换为标准位图,但要么必须缺少一个步骤,要么 FreeImage 根本无法将浮点 RGBA 转换为 32BPP RGBA:
FreeImageBitmap fib = new FreeImageBitmap("C:\\test.exr");
Console.WriteLine(fib.ImageType); //FIT_RGBAF
fib.ConvertType(FREE_IMAGE_TYPE.FIT_BITMAP, true); //returns False
转换失败:
无法从 12 型转换为 1 型;不存在这样的转换。
我需要它作为 32BPP RGBA 位图,只是为了能够将其转换为System.Drawing.Bitmap
.,所以我可以使用 GDI+ 绘制它。如有必要,我愿意使用不同的图像库,或者如果有人认为在那里可以找到解决方案,我愿意考虑 WPF 而不是 Winforms。
我上传了一个用于测试的示例浮点 EXR:http: //dl.dropbox.com/u/2817180/test.exr