gpt4 book ai didi

c# - 尝试在 Winform 应用程序中显示大 (2 GB) Tiff 图像的一部分

转载 作者:行者123 更新时间:2023-12-02 08:56:14 30 4
gpt4 key购买 nike

这可能吗,还是我必须使用 WPF。我是 Winforms 新手,创建了几个简单的应用程序,现在我需要读取 TIFF 文件,然后显示其中的一小部分...

我尝试做这样的事情:

Graphics g = e.Graphics;
Bitmap b = new Bitmap(Image.FromFile(@"W:\ILHSR_Merged_2011\compressed\overviews\ILHSR11_0405-101-1.tif"));
g.DrawImage(b, 10, 10, 350, 300);

但是我遇到了内存不足的异常。有人可以给我指点一些读物吗,或者这只是应该在 WPF 中开发的东西。

最佳答案

我认为您需要使用 libTiff 实现自己的 TIFF 加载程序。

TIFF 图像格式允许将图像数据存储在图 block 中。 LibTiff 允许您加载单个图 block :通过这种方式,您可以仅显示图像的一部分(无需解码整个 TIFF!,这可能具有令人望而却步的大小)。

不幸的是,我认为 .NET 成像不支持 TIFF 功能。我的建议是将 libTiff 包装在用 C++/CLI 编写的库中,并将其集成到您的应用程序中。

(适当的评论:如果某些现有库已经包装了 libTiff,并且其接口(interface)与您的应用程序很好匹配,那就更好了)

关于c# - 尝试在 Winform 应用程序中显示大 (2 GB) Tiff 图像的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8578521/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com