当前位置: 首页 > 编程语言 > C#

如何在C#中检查损坏的TIFF图像?

时间:2023-04-10 17:50:24 C#

如何在C#中检查损坏的TIFF图像?我用谷歌搜索了如何检查TIFF文件是否损坏。大多数建议将Image.FromFile函数包装在try块中。如果它抛出OutOfMemoryException,它就坏了。有人用过这个吗?有效的?还有其他选择吗?查看名为LibTiff.NET的免费软件。它具有检查TIF文件中每一页是否损坏的功能。即使部分损坏也没有问题http://bitmiracle.com/libtiff/谢谢许多tiff文件无法在标准GDI+.NET中打开。也就是说,如果您运行的是WindowsXP。Windows7要好得多。因此,GDI+不支持的任何文件(即传真、16位灰度、48bppRGB、平铺tiff、金字塔平铺tiff等)都被视为“损坏”。不仅如此,在32位系统上导致位图大于100MB的位图也会导致内存不足异常。如果您的目标是尽可能多地支持TIFF标准,请从LibTiff(衍生)开始。我使用了BitMiracle(LGPL)的LibTiff.NET,它对我有用。请参阅我的其他帖子许多TIFF实用程序也基于LibTIFF,其中一些已移植到C#.NET。如果您想验证TIFF,这将是我的建议。至于其他回复中建议的TIFF规范:当然,这为您提供了位级控制。但根据我的经验,您不需要那么低就可以获得良好的TIFF支持。这种格式非常通用,从头开始支持它非常耗时。它只是在框架方法无法打开它的意义上是腐败的。Frames无法打开某些TIFF类型-(在我的情况下,我不记得确切的类型,认为它是一种传真类型......)如果你只想使用frames来处理图像,那可能就足够了为你。毕竟我无法打开它,你不能使用它......ImageMagic-可能会在不看tiff的情况下给你更多的范围,从视觉的角度可能很难看出它有多腐败,但如果你有处理图像的问题,只需创建一个函数来对此类处理进行基本测试并处理错误?以上是C#学习教程:如何在C#中检查损坏的TIFF图像?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: