从tiff图像创建位图对象

时间:2012-05-10 11:54:00

标签: asp.net-mvc bitmap tiff system.drawing

我有一个页面,其中有一个用户上传图片的图库。我注意到有一个特定用户上传了3个tiff图像并且无法访问它们。

Exception type: System.ArgumentException
Exception message: Parameter is not valid.

它发生在这里:

using (Image photo = new Bitmap(new MemoryStream(photoData)))

文件似乎没问题,sice File.ReadAllBytes()可以工作,我可以使用其他方法下载它们(一个不工作的方法仅用于返回已调整大小的图像),在本地测试并且不抛出异常。有什么想法可能是这样的吗?不幸的是,我不知道其他用户上传的所有tiff图像是否也会出现这种情况。

1 个答案:

答案 0 :(得分:1)

支持TIFF风格(并且有许多风格)取决于服务器上的Windows版本。更确切地说,它取决于GDI +库的版本。

没有看到TIFF,我无法告诉你。但我建议你尝试一些仅用于TIFF文件的第三方库。有一个事实上的标准libtiff库,我不久前有ported it to C#。你可以试试这个端口。

您可能会对某些示例感兴趣。我认为Convert color TIFF to a 32-bit System.Drawing.Bitmap可能最适合您的任务。