从Tiff / SVS文件中删除页面/图层

时间:2018-07-23 19:50:29

标签: c# tiff libtiff.net

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

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

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

1 个答案:

答案 0 :(得分:0)

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

除我直接在Flush对象上调用Tiff而不是等待WriteClose或{ {1}}种为我做的方法。在切换源之前,我仍尝试使用nuget版本进行Dispose

问题似乎出在该软件包的nuget安装损坏或以太坊中有其他东西。