问题标签 [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 投票
2 回答
1135 浏览

c# - 字节数组末尾的大量 0 值

我正在使用 BitMiracle 的 LibTiff.Net 读取位图图像并返回作为 Base64String 嵌入文件中的 TIFF 字节 []。我注意到 Base64 字符串最终比我预期的要长很多,它的尾部是大量的“A”字符。在调试时,我看到 LibTiff 返回给我的 byte[] 末尾有几千个 0 值,这似乎不是图像本身的必要部分(据我所知)。

我在这里使用 BitMiracle 的示例代码进行转换: https ://bitmiracle.github.io/libtiff.net/html/075f57db-d779-48f7-9fd7-4ca075a01599.htm

不过,我不太明白在字节 [] 末尾会导致“垃圾”的原因。有什么想法吗?

编辑以添加代码 - GetTiffImageBytes() 在上面的链接中:

上面的调用是:

所有的事情都说和做了,它运行良好,我们的应用程序可以读取生成的图像。我只是想缩小大小,因为其中一些文件可能有数万张图像。我有一些较旧的示例文件是通过另一种方法用一些 Base64 字符串手动创建的,这些字符串大小差不多,保存了我认为是垃圾的所有尾随字节。

正如有人评论的那样,一种选择可能是在转换之前读取 byte[] 并从末尾删除所有 0 值,但我试图弄清楚为什么会发生这种情况。

谢谢!

0 投票
1 回答
455 浏览

jpeg - 无法在 Libtiff.net 中使用 YCBCR 光度计写入图块

我正在使用 Libtiff.net 将平铺图像写入 tiff 文件。如果 Photometric 设置为 RBG,它可以正常工作,但如果我使用 YCbCr(为了减小文件大小),我会收到错误“应用程序传输的扫描线太少”。相关代码:

如果我使用 Photometric.RGB,同样的代码可以工作。即使我使用 Photometric.YCbCr 编写剥离图像 (t.SetField(TiffTag.ROWSPERSTRIP, ROWS_PER_STRIP), tif.WriteEncodedStrip(count, bytes, bytes.Length)) 一切正常。

为什么我不能将 YCbCr 与平铺图像一起使用?提前致谢。

0 投票
0 回答
489 浏览

tesseract - 如何在 Windows 下抑制 tesseract TIFFReadDirectory 警告?

我正在使用 Tesseract 的 Windows 分发版,并且遇到的问题是,当每张图片从 TIFF 转换为文本时,我会收到一条(旧式!)Windows 弹出消息

“遇到带有标签(标签数量)的未知字段”,例如“遇到带有标签 292 的未知字段”、“遇到带有标签 33300 的未知字段”

这使我无法一次评估许多 TIFF 图片,因为弹出窗口会停止循环的执行。

任何人都知道如何抑制警告信息?

0 投票
0 回答
625 浏览

bitmap - 如何将 jpeg 写入 tiff(使用 libtiff?)

我试图将位图列表写入 tif

在标准的 .net 代码中,tif 变成了一个巨大的文件,我理解这是因为它不支持 jpeg 压缩

研究表明 libtiff 应该能够处理这个问题,尽管我找不到任何将位图写入文件的简单示例

这是我所拥有的(基本上是从文档中复制粘贴的)

但最终结果是文件损坏。

我真的不明白所有这些设置,我所需要的只是以某种方式将 jpg 添加到 tiff

任何人都可以帮助提供代码片段吗?或其他免费/低成本的压缩 tiff 创作者?

谢谢

0 投票
1 回答
339 浏览

save - LibTiff.net - 保存目录

我有包含 8 个目录(分辨率)的大量 tiff 文件。这也是一个瓷砖。

我可以循环浏览目录并获得每个目录的分辨率。我想将第 4 个目录保存到一个新的 tif 文件中。我认为这是可能的,但不能得到我的手。

基本上想这样做:

如果可以的话那就太好了,但我知道我必须创建一个输出图像并将数据行复制到其中。还不确定如何。任何帮助将非常感激。

0 投票
3 回答
2102 浏览

libtiff.net - 更有效的 TIFF 无损压缩

我正在尝试将 TIFF 图像存档在数据库中,并且我想尽可能地压缩图像,即使以更高的 CPU 使用率和高内存为代价。

为了测试 LibTiff.NET 中可用的压缩,我使用了以下代码(从这个示例修改):

测试图像为200dpi 24bpp,1700宽2200高,使用LZW压缩;文件大小接近 7 MB。(该图像代表我要存储的图像。)

在确实有效的算法中(有些算法因各种错误而失败),最小的压缩文件是使用 创建的Compression.Deflate,但它只压缩到 5MB,我希望它更小(小于 1MB)。

必须有一些更高压缩率的算法;包含此图像的 PDF 文件大约为 500Kb。

如果特定算法与其他 TIFF 查看器/库不兼容,这不是问题,只要我们可以从数据库中提取压缩的 TIFF 并将其转换为System.Drawing.Bitmap使用 LibTiff.Net 或其他库。

如何通过无损压缩生成更小的文件?这甚至可能与这些类型的图像?

更新

PDF 文件
TIFF 文件

0 投票
1 回答
706 浏览

c# - 使用 LibTiff 读取像素的 RGB 值 - C#

我想在 C# 中读取像素的 RGB 值,我尝试使用此处找到的以下代码。

但是我不知道这个偏移量是什么以及为什么当图像是 2D 时光栅是 1D 的。有人可以帮助我理解上面代码中的偏移和栅格吗?

0 投票
1 回答
808 浏览

c# - BitMiracle.LibTiff.Net 将 oJPEG tiff 转换为位图会产生负彩色图像

我正在使用BitMiracle.LibTiff v2.4.560.0 将 oJPEG tiff 转换为位图。直到最近,这一直很好。我尝试转换的 Tiff 是具有白色背景和黑色文本的文档。转换 tiff 后,结果以黑色背景和白色文本结束。

我正在使用这个Convert from Tiff to Bitmap示例进行转换。

这是 BitMiracle.LibTiff 库的错误还是需要对示例代码进行修改?我做了很多修改示例代码的尝试,但没有成功。

0 投票
1 回答
705 浏览

c# - 如何从 tiff 图像在 C# 中创建世界文件?

有什么简单的方法可以从 tiff 图像中提取 C# 中的世界文件吗?

我有一个 tiff 图像,我需要创建一个没有任何第三方库的世界文件。

0 投票
2 回答
495 浏览

.net - 使用 libtiff.net 从 TIFF 图像中删除帧

我有一个 TIF,里面有多个页面(都是旧式 JPEG 编码的)。我想做的是从 TIF 中删除一些页面。

我尝试了 FreeDirectory 方法,但似乎完全没有效果。