Я пытаюсь использовать библиотеку 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; Такого преобразования не существует.
Мне нужно это как растровое изображение RGBA 32BPP исключительно для того, чтобы иметь возможность преобразовать его в System.Drawing.Bitmap
, поэтому я могу нарисовать его, используя GDI +. Я готов использовать другую библиотеку изображений, если необходимо, или рассмотреть WPF вместо Winforms, если кто-то думает, что там будет найдено решение.
Я загрузил пример EXR с плавающей запятой для тестирования: http://dl.dropbox.com/u/2817180/test.exr