Right, sub_IFD-s are not widely supported by otherwise TIFF-capable software packages. That's the biggest argument against using them.
For reading sub-IFD-s you need to call TIFFGetField(tif, TIFFTAG_SUBIFD,...) and TIFFSetSubDirectory(...). After that, you are already in the correct place, no need to call TIFFReadDirectory(). TIFFReadDirectory() would be only needed for moving on to the next main IFD. HTH Paavo -----Original Message----- From: Tiff <[email protected]> On Behalf Of L. E. Segovia via Tiff Sent: laupäev, 10. detsember 2022 04:17 To: [email protected] Subject: Re: [Tiff] How to write multi-file TIFFs Yes, I did this, but not even GIMP recognises such multi-page files. On a related matter, judging from https://linux.die.net/man/3/tiffsetdirectory, there should be a way to not need to tamper with TIFFTAG_SUBIFD, i.e. using TIFFReadDirectory sequentially. In fact, it was the approach we were using up to now. That brings me a few questions to mind: - Does anyone know if that's the intended use of TIFFReadDirectory? If so, wasn't the function intended to seek into the next directory on its own? - Alternatively, are we supposed to use TIFFSetSubdirectory before each TIFFReadDirectory? (getting the offsets with TIFFGetField) Best, amyspark On 09/12/2022 10:52, [email protected] wrote: > Hello amyspark, > > My understanding is that you set the magic TIFFTAG_SUBIFD tag on a > directory with an $n element array of offsets, all initialized to 0, > and then the next $n TIFF directories you write will appear as > subdirectories of this directory, with the offsets filled in for you. > > Or that's what I did here and it seems to work for me: > > https://github.com/libvips/libvips/blob/master/libvips/foreign/vips2ti > ff.c#L2127-L2141 > > John > > On Fri, 9 Dec 2022 at 12:26, <[email protected]> wrote: >> >> The page I followed when implementing TIFF subframe writing is: >> >> https://stackoverflow.com/questions/11959617/in-a-tiff-create-a-sub-i >> fd-with-thumbnail-libtiff >> >> HTH >> Paavo >> >> >> -----Original Message----- >> From: Tiff <[email protected]> On Behalf Of L. E. Segovia >> via Tiff >> Sent: reede, 9. detsember 2022 03:29 >> To: [email protected] >> Subject: [Tiff] How to write multi-file TIFFs >> >> Hi all, >> >> I'm writing to ask about how to create a TIFF with multiple sub-images. >> Our writing code at Krita is unable to create this kind of files, creation >> fails with these lines logged: >> >>> krita.file: "TIFFLinkDirectory: Error fetching directory count" >>> krita.file: "TIFFRewriteDirectory: Error fetching directory count" >> >> A breakpoint on the TIFF error writing routine shows that both are issued >> the moment I call TIFFWriteDirectory for the second and further layers. >> TIFFCreateDirectory, which I saw suggested in tif_overview.c, does not have >> an effect here. >> >> Does anyone know the correct incantations to create this kind of files? >> I'm running LibTiff 4.4.0 at present. >> >> Best, >> >> amyspark >> >> -- >> amyspark 🌸 https://www.amyspark.me >> _______________________________________________ >> Tiff mailing list >> [email protected] >> https://lists.osgeo.org/mailman/listinfo/tiff >> >> _______________________________________________ >> Tiff mailing list >> [email protected] >> https://lists.osgeo.org/mailman/listinfo/tiff > _______________________________________________ > Tiff mailing list > [email protected] > https://lists.osgeo.org/mailman/listinfo/tiff -- amyspark 🌸 https://www.amyspark.me _______________________________________________ Tiff mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/tiff _______________________________________________ Tiff mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/tiff
