【问题标题】:Drop a Page/Layer from Tiff/SVS File从 Tiff/SVS 文件中删除页面/图层
【发布时间】:2018-12-31 08:20:15
【问题描述】:

有没有一种简单的方法可以从 C# 中的 tiff/svs 文件中删除/删除图层/页面/目录?我希望从一系列简单的 tiff/svs 文件中删除特定页面。如果它是像tifFile.dropLayer(0) 这样的东西会很好,而不是需要将所有内容从内部复制到副本。我已经尝试使用 LibTiff 来寻找一个好的解决方案,但这比我想要的要复杂。我尝试使用他们的UnlinkDirectory() 方法,但事后图层仍然显示(除非有保存调用或我遗漏的东西。为此,我正在做:

using (Tiff tif = Tiff.Open(fileName, "a"))
{tif.UnlinkDirectory(4);}

我认为它在Close() 方法上保存和写入,并在Dispose() 上调用。我只需要一个简单的开源库或 .NET 中的其他方式来完成这项任务。

【问题讨论】:

    标签: c# tiff libtiff.net


    【解决方案1】:

    我找到了解决问题的方法。我使用的是 LibTiff 库的 nuget 包版本。我卸载了它,从 Github 克隆了他们的 repo,将必要的项目从该 repo 复制到我的项目中,一切正常。

    我仍然使用与上面相同的基本代码,除了我直接在Tiff 对象上调用Flush,而不是等待WriteCloseDispose 方法为我做这件事.在切换源之前,我仍然尝试使用 nuget 版本的Flush

    似乎问题出在包的损坏的 nuget 安装或以太网中的其他东西上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多