【问题标题】:Creating a bitmap object from tiff image从 tiff 图像创建位图对象
【发布时间】:2012-05-10 11:53:59
【问题描述】:

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

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

它发生在这里:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 我使用 this 方法专门用于 tiff 图像,它似乎可以正常工作(生产在 windows server 2k8 上运行,我的工作站在 win7 上,所以问题可能与此有关),非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多