BitMiracle Tiff.ClientOpen() 失败

BitMiracle Tiff.ClientOpen() Fails

我正在尝试使用 Tiff.ClientOpen 方法打开图像字节数组,如下所示:

 using (MemoryStream ms = new MemoryStream(img))
 {
     using (Tiff input = Tiff.ClientOpen("InMemory", "r", ms, new TiffStream()))
     {

     }
 }

其中 img = byte[].

但是在我的第二个 'using' input = null 中。我 100% 确定 img 有数据,并且通过调试过程它甚至工作了几次。

有人遇到过吗?

问题似乎出在我读入内存流的 tiff 格式上。通过使用库创建一个 tiff,如示例所示:

https://bitmiracle.github.io/libtiff.net/?topic=html/e4f25423-eede-4ef6-a920-9cb539d056c6.htm

然后将结果传递给内存流,然后 ClientOpen() 开始工作。不知道为什么。这是您希望 BitMiracle 提供支持的时候;)。

将 InMemory 替换为内存中的,并确保您选择了有效的图像。

using (Tiff image = Tiff.ClientOpen("in-memory", "r", ms, new TiffStream()))