我正在与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);
答案 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文件”或类似文件。