首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过LibTiff.Net从流加载的Tiff没有字段值

通过LibTiff.Net从流加载的Tiff没有字段值
EN

Stack Overflow用户
提问于 2011-01-24 20:27:41
回答 1查看 2.3K关注 0票数 2

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

代码语言:javascript
复制
        MemoryStream ms = new MemoryStream();
        FileStream fs = new FileStream("testfile.tif", FileMode.Open);
        fs.CopyTo(ms);

        //It seems (memory) streams have to be opened in write mode, "r" always returns <null>
        Tiff tiff = Tiff.ClientOpen("someArbitraryName", "w", ms, new TiffStream());

        FieldValue[] imageHeight = tif.GetField(TiffTag.IMAGELENGTH);

使用Tiff.Open直接打开要读取的文件效果很好。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-24 23:58:45

Bit Miracle支持团队为我提供了解决方案:

Tiff.ClientOpen从流的当前位置读取数据。

代码语言:javascript
复制
    MemoryStream ms = new MemoryStream();
    FileStream fs = new FileStream("testfile.tif", FileMode.Open);
    fs.CopyTo(ms);

    ms.Position = 0;

    Tiff tiff = Tiff.ClientOpen("someArbitraryName", "r", ms, new TiffStream());

    FieldValue[] imageHeight = tif.GetField(TiffTag.IMAGELENGTH);

这就解决了这个问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4781948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档