int TIFFSetDirectory(TIFF *tif, tdir_t dirnum)¶
int TIFFSetSubDirectory(TIFF *tif, uint64_t diroff)¶
TIFFSetDirectory() changes the current directory and reads its
TIFFReadDirectory(). The parameter dirnum
specifies the subfile/directory as an integer number, with the first
directory numbered zero.
In the case of several SubIFDs of a main image, there are two possibilities that are not even mutually exclusive.
SubIFDtag contains an array with all offsets of the SubIFDs.
SubIFDsare concatenated with their
NextIFDparameters to a SubIFD chain.
LibTiff does support SubIFD chains partially. When a
SubIFD tag is
is able to parse through the SubIFD chain. The tif_curdir is just
incremented from its current value and thus gets arbitrary values
when parsing through SubIFD chains.
TIFFSetDirectory() only works with main-IFD chains because
allways starts with the first main-IFD and thus is able to reset
the SubIFD reading chain to the main-IFD chain.
Directory query functions
TIFFNumberOfDirectories() retrieve information about directories
in an open TIFF file. Be aware that until a directory is
not written to file AND read back, the query functions won't retrieve
the correct information!
On successful return 1 is returned. Otherwise, 0 is returned if dirnum or diroff specifies a non-existent directory, or if an error was encountered while reading the directory's contents.
All error messages are directed to the
"%s: Error fetching directory count":
An error was encountered while reading the "directory count" field.
"%s: Error fetching directory link":
An error was encountered while reading the "link value" that points to the next directory in a file.