在Windows窗体中显示EXR文件

时间:2013-02-11 16:23:48

标签: c# picturebox freeimage

我正在与FreeImage斗争,文档对我帮助不大!

我需要在带有C#的图片框中显示tif,exr或HDR图像,我没有成功,我想知道我该怎么做...我收到错误:只有类型的位图可以转换FIT_BITMAP。 ......

任何人都可以帮助我吗?我想我必须将tif​​f转换为位图,但我已经尝试但我不知道该怎么办呢......这是我的代码:

    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);            

1 个答案:

答案 0 :(得分:0)

要显示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文件”或类似文件。