从 Tiff/SVS 文件中删除 Page/Layer
Drop a Page/Layer from Tiff/SVS File
有没有简单的方法从 C# 中的 tiff/svs 文件 remove/drop 生成 layer/page/directory?我希望从一系列简单的 tiff/svs 文件中删除特定页面。如果它是 tifFile.dropLayer(0)
之类的东西而不需要将所有内容从内部复制到副本,那就太好了。我已经尝试过 LibTiff 来寻找一个好的解决方案,但这比我希望的要复杂。我尝试使用他们的 UnlinkDirectory()
方法,但图层仍然在事后显示(除非有保存调用或我遗漏的东西。为此,我正在做:
using (Tiff tif = Tiff.Open(fileName, "a"))
{tif.UnlinkDirectory(4);}
我认为它在 Close()
方法上保存和写入,并在 Dispose()
上被调用。我只需要一个简单的开源库或 .NET 中的其他方式来完成此任务。
我找到了解决问题的方法。我使用的是 LibTiff 库的 nuget 包版本。我卸载了它,从 Github 克隆了他们的存储库,将必要的项目从该存储库复制到我的项目中,一切正常。
我仍然使用与上面相同的基本代码,除了我直接在 Tiff
对象上调用 Flush
而不是等待 Write
、Close
,或 Dispose
方法为我做这件事。在切换源之前,我仍然尝试使用 nuget 版本 Flush
。
看来问题出在软件包的 nuget 安装损坏或以太中的其他问题上。
有没有简单的方法从 C# 中的 tiff/svs 文件 remove/drop 生成 layer/page/directory?我希望从一系列简单的 tiff/svs 文件中删除特定页面。如果它是 tifFile.dropLayer(0)
之类的东西而不需要将所有内容从内部复制到副本,那就太好了。我已经尝试过 LibTiff 来寻找一个好的解决方案,但这比我希望的要复杂。我尝试使用他们的 UnlinkDirectory()
方法,但图层仍然在事后显示(除非有保存调用或我遗漏的东西。为此,我正在做:
using (Tiff tif = Tiff.Open(fileName, "a"))
{tif.UnlinkDirectory(4);}
我认为它在 Close()
方法上保存和写入,并在 Dispose()
上被调用。我只需要一个简单的开源库或 .NET 中的其他方式来完成此任务。
我找到了解决问题的方法。我使用的是 LibTiff 库的 nuget 包版本。我卸载了它,从 Github 克隆了他们的存储库,将必要的项目从该存储库复制到我的项目中,一切正常。
我仍然使用与上面相同的基本代码,除了我直接在 Tiff
对象上调用 Flush
而不是等待 Write
、Close
,或 Dispose
方法为我做这件事。在切换源之前,我仍然尝试使用 nuget 版本 Flush
。
看来问题出在软件包的 nuget 安装损坏或以太中的其他问题上。