我需要将一些tiff文件读入WPF,并且我已经完成了很好的工作,直到我在Windows XP上测试它。无论我如何加载图像,加载的图像都会被破坏。
附件是加载相同图像的同一程序的2个截图 - 黑暗的是它应该看起来的样子(从Win7加载),另一个是它在XP中加载时的外观。
我尝试加载为BitmapImage,BitmapSource,加载FileStream并直接从WPF中的Image标签传递给BitmapImage ......所有这些都有同样的损坏。我已经使用.NET LibTiff库解决了这个问题,但它没有解释为什么会发生这种情况,而且我解释它有点亏本!
编辑:我应该添加图像为16位。
答案 0 :(得分:1)
您是否尝试使用LibTiff等外部库?
答案 1 :(得分:1)
Windows对TIFF格式的支持在XP中非常差,在Windows 7中得到了极大的增强.XP不支持16位(也就是说,它只使用8位) 请查看http://msdn.microsoft.com/en-us/library/ee720061%28VS.85%29.aspx以查看Windows 7中的改进内容。您还可以将其视为W7中修复的错误和限制列表,并在Windows XP中显示....
使用LibTiff(或LibTiff.NET)时,除了显示结果位图之外,您不会使用Windows映像类。 我使用AForge.NET进行了可视化的范围映射(16-> 8位)。我这样做是通过实现一个功能,将一个瓦片从我的tiff文件(16位)转换为8位BMP,包括图像加入(即调平)