问题标签 [libtiff.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
19592 浏览

c# - 使用 C# 中的 LibTiff(访问平铺的 TIFF 图像)

我想使用 LibTiff 访问非常大的 TIFF 文件。我需要多个页面和图块之类的功能,因此 LibTiff 似乎是正确的方法。任何人都可以帮助我如何使用 C# 中的 LibTiff 吗?我找到了一些链接(例如包含部分代码的 blog.bee-ee。但我无法获得一个版本。我查看了FreeImage但发现它不合适(图片约为 800 MPixel 8 或 16位灰度-> 800-1600 MByte)大小,我无法在 32 位环境中将其加载到内存中)

我在 C/C++ 方面非常有经验,但在 C# 方面还没有。谁能帮我做一个包装或一些提示?

注意:我需要页面来访问 tiff 中的金字塔平面(多分辨率),以及 256x256 的图块,以便快速访问图像的不同部分而无需立即加载。

[编辑] LibTIFF.NET解决方案对我来说似乎最实用。我现在将它集成到产品开发中,它可能会为我省去很多关于进出托管内存的麻烦。我还没有尝试过“回调”功能,这似乎可以通过 .net 方式很好地解决。感谢您对 stackoverflow 的帮助 [/Edit]

0 投票
2 回答
6357 浏览

c# - 在 C# 中使用 libtiff 从一种 TIFF 格式转换为另一种

我有一个使用 JPEG 格式的 TIFF,WPF/C# 无法通过TiffBitmapDecoder. 我们的客户使用文件格式,而我们当前的 C++ 和 Java 代码处理它。

我需要将其转换为可以使用TiffBitmapDecoder或标准显示的格式BitmapImage。看起来 libtiff 的 C# 版本是可行的方法,但我没有任何运气转换代码。

这是我的尝试-我总是以损坏的文件告终。

0 投票
1 回答
1025 浏览

c# - 如何在 Silverlight 中显示 CCITT Group 4 TIFF 文件?

根据How to Convert TIFF to JPG Inside Silverlight,客户端,使用控件或类/函数?我试图将 LibTiff.NET 库移植到 Silverlight,但失败了。

如果有人向我解释如何在不失去解压缩 CCITT Group 4 TIFF 文件的机会的情况下删除不受 Silverlight 支持的文件,我将不胜感激。

0 投票
1 回答
2623 浏览

c# - LibTiff.Net 彩色图像转换

我正在使用 Bit Miracle LibTiff.Net。

我找不到任何示例代码来获取 32bpp ARGB 彩色图像并使用此库将位图写入 TIFF。

有没有其他人尝试过这个?

这是我的示例代码。它会生成一个文件,但我拥有的任何软件都无法查看它。

编辑:代码现在可以工作,但颜色是错误的!

谢谢

0 投票
1 回答
2383 浏览

c# - 通过 LibTiff.Net 从 Stream 加载的 Tiff 没有字段值

我的应用程序必须处理存储在 MemoryStream 中的 TIFF 文件,但 LibTiff.Net 总是返回null字段值。

直接打开文件进行阅读使用Tiff.Open工作正常。

这是 LibTiff.Net 库中的错误还是我遗漏了什么?

0 投票
1 回答
3927 浏览

.net - 从多页 TIFF 文件中删除/删除页面

我需要从多页 TIFF 文件中删除一个页面。我目前在 .NET 中工作,但如果有人知道如何用该语言进行操作,我可以迁移到另一种语言。

该页面可以是倒数第二页,也可以是文件中的最后一页。而且我需要在不解压缩文件中的先前页面的情况下执行此操作,因此不要创建新的 TIFF 并复制我仍然想要的所有页面。

我已经有执行此操作的代码,但是由于我正在使用的 TIFF 文件大约 1.0 gb - 3.0 gb 被高度压缩,这非常耗时。如果我可以删除我想要的文件部分而不创建一个速度更快的新文件。

与文件的其余部分相比,我需要删除的页面非常小,可能在也可能不在它之后的页面也是如此,大约 500*500 像素。

我尝试过的,我尝试过 LibTiff.Net 库,在这里找到

http://bitmiracle.com/libtiff/

在搞砸了一段时间后,我向开发人员询问了我的问题,他们说目前不支持这样做。我也稍微研究了 ImageMagick,但我也无法弄清楚如何在那里做到这一点。

有人在这里有任何有用的想法吗?

0 投票
3 回答
4008 浏览

c# - 如何在 Silverlight Image 控件上显示 TIFF(以字节 [] 的形式)

我创建了一个窗口服务来将我所有的 TIFF 文件放入数据库并将它们存储为Byte[].

现在我希望能够通过 Silverlight Image 控件显示它们

所以我在绑定 XAML 期间使用 Converter 来将其转换为Byte[]Bitmap因为Image.Source只接受它们的 URI(我没有存储在服务器上的文件,所以不能使用这种方法)或Bitmap.

但是,我得到了例外,bmi.SetSource(ms)因为 Silverlight 仅支持 JPEG 和 PNG 图像。

所以我做了更多的研究并且知道我应该将 TIFF 的字节转换为 JPEG 或 PNG 的字节然后它会起作用。

为此,我尝试了两种方法:

  • 在服务器上进行转换:在我的 RIA 服务调用中,检索 . 之后ImageGallery,我循环遍历可用图像以将 TIFF 的字节转换为 JPEG 的字节。

但它不起作用....你能告诉我我哪里做错了吗?

  • 另一种解决方案是使用LibTiff.Net库直接将Byte[]TIFF 转换为WritableBitmap直接在 Silverlight 上。

但是,在挖掘了他们的示例应用程序或使用 Reflector 查看源代码功能后,我仍然无法弄清楚如何使用他们的库将 TIFF 的字节转换为WritableBitmapJPEG(或 PNG),因为他们的示例仅显示 API使用在文件目录中搜索 TIFF。就我而言,我在服务器上没有现有文件。

有人可以帮我如何在 Silverlight 的图像控件上显示 TIFF 文件吗?

我搜索了论坛,但没有找到任何可靠的答案。

谢谢

0 投票
1 回答
739 浏览

c# - 编辑 TIFF 图像而不更改标题数据

我有一个接收 TIFF 图像堆栈的程序,并且对标头数据非常特别(它希望所有标头都相同),但是我想在将堆栈中的几个图像发送到该程序之前对其进行编辑。

到目前为止,我尝试过的每个程序(Paint.net、MS Paint、ImageJ)都更改了头文件,或者在保存新图像时彻底损坏了它。我可以访问 C# 和 LibTiff.Net,但即使在阅读了文档之后,我仍然对如何在不更改标题信息的情况下简单地替换图像数据感到困惑。

目前的想法只是用纯色替换图像,所以它并不太复杂。

0 投票
1 回答
1128 浏览

libtiff - 使用 LibTiff.Net 添加自定义元数据标签

我现在如何向图像添加自定义标签,但它没有在图像查看器中显示为标签名称。我只看到我分配的数字及其值。

为什么我的自定义标签没有专有名称?

}

0 投票
1 回答
3767 浏览

tiff - 如何使用 Bit Miracle LibTiff.Net 将图像写入 MemoryStream

我收到了一个使用CCITTFaxDecode压缩的图像。所以我使用来自 Bit Miracle 的 LibTiff.Net 来将图像转换为任何格式。

我需要将解压缩的图像写入MemoryStream. 我使用了另一个线程的代码示例,并且能够使用此代码

我遇到的问题是MemoryStream字节数​​组不是有效的图像。

我使用System.Drawing.Image类来加载这个newStream内存流,但是字节数组中有一些空值。

如果我使用Open构造函数将图像写入磁盘,它工作正常。

我想知道是否有人知道为什么MemoryStream无法存储解压缩的图像。

谢谢