大型TIFF / BigTIFF文件加载和保存

TIFF文件使用32位的偏移量,所以他们仅限于4 gb。一个新版本的文件格式,BigTIFF,使用64位偏移和可以创建文件大于4 gb。在其他方面BigTIFF文件是一样的TIFF文件。剩下的这个话题,通用术语“TIFF文件”将用于TIFF和BigTIFF文件。

TIFF文件可以包含大量的页面。这可以加载和保存他们非常耗时。使用一个IFD(图像文件目录)加速加载、保存和获取信息非常大的TIFF文件。IFD本质上是一个偏移量在TIFF文件一页开始的地方。

几个结构包含一个IFD成员包含抵消TIFF文件内的所需的页面。这些结构包括FILEINFO,SAVEFILEOPTION,LOADFILEOPTION。对于32位应用程序,同样的结构也包含一个IFD64成员包含64位抵消BigTIFF内所需的页面文件。

对于32位的应用程序,L_FileInfo将报告的IFD TIFF页面填FILEINFO.IFD。的32位应用程序。L_FileInfo还将报告的64位版本IFD从BigTIFF页面填FILEINFO.IFD64。

得到L_FileInfo使用一个IFD,集LOADFILEOPTION.IFD IFD和设置在LOADFILEOPTION ELO_USEIFD。uFlags信号IFD的字段是有效的。IFD的64位版本是有用的在处理BigTIFF文件大于4 GB。对于64位应用程序,LOADFILEOPTION。IFD是一个64位的值,所以LOADFILEINFO。IFD可用于BigTIFF和TIFF文件。

应采取谨慎使用IFD时,因为不正确的值会产生无法预料的后果。还要注意,页面编号是不同的,如果使用IFD:第1页LOADFILEOPTION IFD的页面显示,第二页是IFD的页面后,页面显示,等等。

例子:

/ *假设“test.tif”有超过1002页。错误检查不执行简化例子* // /获得1000页的信息LOADFILEOPTION LOADFILEOPTION;FILEINFO FILEINFO;/ /获取信息和IFD 1000页memset (&LoadFileOption 0运算符(LOADFILEOPTION));LoadFileOption。PageNumber= 1000;FileInfo。uStructSize =运算符(FileInfo);L_FileInfo(文本(“test.tif”)、&FileInfo运算符(FILEINFO), 0, &LoadFileOption);/ /获取信息和IFD 1001页。LoadFileOption。PageNumber = 2;LoadFileOption。IFD = FileInfo.IFD;LoadFileOption。旗帜= ELO_USEIFD;L_FileInfo(文本(“test.tif”)、&FileInfo运算符(FILEINFO), 0, &LoadFileOption);

上面的例子中得到信息1001页第二个电话。第二个电话是轻快的,因为我们不需要跳过第一个1000页的1001页的信息。相反,我们只需要跳过1000页,因为提供的IFD LOADFILEOPTION允许我们直接跳到1000页。

FILEINFO。IFD将TIFF文件的检索信息。如果Fileinfo IFD领域是有效的。uFlags设置FILEINFO_IFDVALID标志。同时,IFD的值不能少,8 TIFF(7和下面是无效的值)或为BigTIFF 16。

FILEINFO。IFD可用于负载通过设置在LOADFILEOPTION更快。IFD如上解释道。

当从一个TIFF文件加载一个页面,设置LOADFILEOPTION.IFD参数L_LoadFile函数告诉LEADTOOLS把页面指定偏移位置的开始为第1页。因此,LEADTOOLS没有经历之前从一开始所有页面文件的加载所需的页面。

同样,当一个页面保存到TIFF文件,设置SAVEFILEOPTION参数的L_SaveFile页面功能告诉控制治疗开始在指定的偏移量为第1页。页面可以更快地附加抵消后,由于控制不从一开始就必须通过所有页面的文件。

L_CompactFile函数允许您紧凑的TIFF文件。它还允许您复制或从一个TIFF文件中提取一个或多个页面和复制他们没有再压缩到另一个TIFF文件。

注意:为了节省一个地区在一个TIFF文件,你必须有一个解锁文档或医学成像许可证。

因为技术原因,以下限制当你通过IFD抵消设置如果你设置IFD SAVEFILEOPTION结构的成员PageNumber1:

注意:要加快处理TIFF / BigTIFF以外的文件格式,使用过滤数据描述的机制使用过滤数据加速加载大文件的话题。

LEADTOOLS光栅成像C API的帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。