在Windows窗体中显示EXR文件

本文关键字:EXR 文件 显示 Windows 窗体 | 更新日期: 2023-09-27 17:58:37

我很难使用FreeImage,文档对我帮助不大!

我需要用C#在图片框中显示tif、exr或HDR图像,但我没有成功,我想知道如何才能做到……我得到了错误:只有FIT_BITMAP类型的位图才能转换。。。

有人能帮我吗?我想我必须把tiff转换成位图,但我试过了,但我还不知道该怎么做。。。这是我的代码:

    FIBITMAP imageToDisplay = new FIBITMAP();
    imageToDisplay = FreeImage.Load(FREE_IMAGE_FORMAT.FIF_TIFF, i, FREE_IMAGE_LOAD_FLAGS.TIFF_CMYK);
    Bitmap bitmap = FreeImage.GetBitmap(imageToDisplay);
    pictureBox.Image = (Image)new Bitmap(bitmap);            

在Windows窗体中显示EXR文件

对于显示TIFF,PictureBox.Image采用System.Drawing.Image对象,而System.Drawing.Image.FromFile()支持TIFF图像。

我认为没有必要在这里涉及任何第三方依赖关系。这一切都内置在框架中。

pictureBox.Image = Image.FromFile(someImage);

如果TIFF不是一个文件(例如,如果它只是一个字节数组或MemoryStream),也可以使用Image.FromStream()

对于不支持的文件格式,您的工作是将它们转换为System.Drawing.Image支持的格式。如果不可能,则可能无法对此作业使用PictureBox控件。

也许你的问题的标题应该是"从EXR文件构建图像对象",或者"在Windows窗体中显示EXR文件"或类似的内容。