问题标签 [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.
tiff - LibTiff.NET 附加模式错误?
我最近开始使用 LibTiff.NET 来编写 tiff IPTC 标签,并在我这里的一些文件上发现了奇怪的行为。我正在使用 LibTiff.NET 二进制文件附带的示例代码,它适用于大多数图像,但在这些行之后,某些文件的图像数据损坏:
打开后,我看到的大多是空白的白色图像或多条黑白线,而不是已经写在那里的文本(我不需要读\写标签来产生这种行为)。我注意到当图像已经有一个自定义标签(控制台窗口警告它)或标签之一有“坏值”时会发生这种情况(在这种情况下,控制台窗口显示“vsetfield:%pathToTiffFile%: bad value 0 for "%TagName% “ 标签')。
原图:http ://dl.dropbox.com/u/1476402/00000641.tif
LibTiff.NET 之后的图像:http: //dl.dropbox.com/u/1476402/00000641%28tiffed%29.tif
我将不胜感激提供的任何帮助。
tiff - 如何通过 LibTiff.Net 库从巨大的 TIFF 文件中读取目标范围
我有一个大的 tiff 文件,我不想一次将它加载到内存中(这将导致我的应用程序占用大量内存),我想加载它的目标部分并在屏幕上显示这部分。我正在尝试使用 LibTiff.net 库来实现这一点,但我还没有找到合适的 API。
目前我可以通过 calloc 加载一个新数组(非常大!)然后调用 ReadRGBAImageOriented 函数来加载它的 RGBA 值。
有人有这方面的经验吗?
谢谢
c# - 如何使用 LibTiff.Net 2.3 库编写像 200/1 这样的有理标签
我不知道为什么这很难做到,但我无法让 LibTiff.Net 2.3 正确设置合理值......多年来,我一直在 tiff 标签号 282(XRESOLUTION)中使用像“200/1”这样的值) 和 283(Y 分辨率)。但是当使用 LibTiff.Net 库时,似乎不可能得到这样的结果。我总是得到像“419430400/2097152”这样的东西。有谁知道我该如何解决这个问题?
关于我的问题的注释:
这是 libtiff 库(.Net 之前),它看起来像第一个 else if 确实占了 200/1 之类的东西。
这是新的 .Net 版本...
c# - 尝试更新 tiff 图像上的标签时出现问题
注意:当创建一个从未被 LibTiff.Net 库更改过的新 tiff 图像时,我可以使用 LibTiff.Net 库毫无问题地添加/更改标签(第一次)。
无论如何,在我使用 LibTiff.Net 库更改 tiff 标签后,当我再次尝试更改它们时,图像已损坏。标签似乎很好,但图像本身显示为黑色图像(损坏)。
这是目前我在课堂上使用的标签扩展器......
这是目前我用来在给定 tiff 上设置 tiff 标签的函数
c# - 为第一个目录创建偏移量 = 8 的 Multipage-G4-TIFF
我需要从一些 b/w 单页 tiff 文件创建 ab/w、g4 压缩的多页 tiff。第一个目录的偏移量需要为 8。
我能够创建多页 tiff,但第一个目录的偏移量总是大于 8。
我有一些示例 tiff 文件,第一个目录的目录偏移量为 8。所以这似乎是可能的,但我不知道如何用 libtiff.net 做到这一点。
我还有一段使用 gdi+ 创建 tiff 的代码,它也有 offset = 8,但是 gdi+ 有一些限制,我不能使用它。
我可以使用 libtiff.net 执行此操作,还是有其他 tiff 库可以执行此操作?
谢谢托拜厄斯
c# - LibTiff.Net 将 Tiff 对象转换为字节数组并返回
您好我找不到将 MULTI PAGE tiff 图像转换为字节数组的示例。
要将字节数组转换为 Tiff,我使用此方法
编辑:
此方法将具有更多页面的 TIFF 图像转换为字节数组。我认为这种方法将是问题的根源。
转换为字节数组后,我丢失了页面。字节数组中的图像只有一页。
c# - 从多 tiff 获取页面
NET 库检索多 tiff 中的页面计数。我使用来自http://bitmiracle.com/libtiff/help/retrieve-number-of-pages-in-tiff-image.aspx的样本 。
我得到异常: 无法写入已关闭的 TextWriter。
堆栈跟踪:
代码与示例相同。我找不到这个问题的根源。
c# - LibTiff.NET ReadDirectory 仅在单元测试期间提供 System.ObjectDisposedException
编辑:仅供未来读者参考,从 BitMiracle 的 LibTiff.NET 版本 2.3.606.0 开始,此问题已得到修复。
我在我的 C# 库(在 .NET 3.5 | x86 编译)中使用 BitMiracle 的 LibTiff.NET(版本 2.3.605.0 及更低版本),并在我调用时不断收到此异常ReadDirectory
:System.ObjectDisposedException: Cannot write to a closed TextWriter
我意识到这似乎表明我在拨打电话之前已经处理了我的图像......但我没有专门这样做。这是图书馆中的错误还是我真的在这里遗漏了什么?
这是我的代码:
编辑:好的,经过进一步测试,我有更多信息,这仅在我运行单元测试时发生!不知道为什么这会改变任何事情。
c# - 将 Tiff 对象从 BitMiracle LibTiff 转换为 NET 类型
在客户端,我在 TIFF 图像中有多个页面的图像。
首先我将此图像文件转换为字节数组,然后将此数据发送到 Web 服务。
为了将 TIFF 转换为字节数组,我使用方法System.IO.File.ReadAllBytes
。
在 Web 服务方面,我想将此字节数组转换为如果字节数组包含无效数据,那么拥有 som 控制会很好。
然后我需要做这些事情:
将所有页面从多 TIFF 图像解析为对象类型
System.Drawing.Image
从多 TIFF 中获取指定的图像
将
BitMiracle.LibTiff.Classic.Tiff
对象转换为字节数组将
BitMiracle.LibTiff.Classic.Tiff
对象以 TIFF 格式保存到磁盘
我用谷歌搜索,尝试了很多样本,但对我来说有点问题,将字节数组转换为
BitMiracle.LibTiff.Classic.Tiff
(和返回)并将BitMiracle.LibTiff.Classic.Tiff
持有多个 TIFF 的对象转换为System.Drawing.Image
.
c# - 使用 LibTiff.Net 从 tif 图像中获取 tiff 标签计数的最佳/最快方法是什么?
正如标题中所述,获取图像中 tiff 标签数量的最佳和最快方法是什么?
目前我知道的唯一方法是尝试使用 GetField() 方法查询标签 1-65534 并简单地计算。我可以从 LibTiff.Net 库中的 Tiff 对象访问某种类型的数组或标签列表吗?