我想使用LibTiff来访问非常大的TIFF文件。我需要多个页面和图块等功能,因此LibTiff似乎是正确的选择。任何人都可以帮助我如何从C#中使用LibTiff?我发现了一些链接(例如blog.bee-ee,其中包含部分代码,但我没有超越获得版本,我看过FreeImage,但发现它不适合(图片大约800万像素8或16位灰度 - > 800-1600兆字节)大小,我不能在一个32位的环境加载在存储器中)使用C#中的LibTiff(访问平铺的TIFF图像)
我非常在C/C++经历过,但尚未在C#。任何人都可以帮我一个包装或一些提示?
注:我需要的页面在TIFF访问金字塔型飞机(多分辨率),以及256×256的瓷砖具有对图像的不同部分的快速访问,而在一次加载它。
[编辑] LibTIFF.NET解决方案对我来说似乎最实用。我现在将它集成到一个产品开发中,它将有助于节省进入/退出托管内存的麻烦。我还没有尝试'回调'功能,这似乎很好地以.net方式解决。 感谢您的帮助stackoverflow
谢谢。我的第一个测试看起来不错。尽管我找到了一个包装类,但它没有一个已知的作者,我迟早会遇到有关访问托管/非托管内存资源的一些问题。基准测试显示,在阅读非压缩文件时,我的表现相当,Adobe压缩金字塔平铺tiffs的性能提高了50%。这对我来说是可以接受的。我可能决定不使用压缩,而且我会比解决内存问题更好地使我的软件多核心友好。 – Adriaan 2010-01-14 08:12:21
谢谢,Adriaan 我们的实现肯定比原来的选择语言慢:-) – Bobrovsky 2010-01-14 12:24:07
我不介意。对于我的项目绩效意味着功能/欧元。开发时间占成本的95%。我可以轻松地投入一个quadcore来弥补这一点。此外,当我远离压缩时,差异很小。而我的文件只能压缩大约10%,所以每个文件只有100MBytes ;-) – Adriaan 2010-01-17 21:27:14