I'm not sure where your values come from so I can't say if your
rowsPerStrip is ok but the rest looks right. I would rather read
TIFFTAG_ROWSPERSTRIP directly than try to compute it, unless you're setting
it yourself of course. Compression will not change the number of strips,
only their size.

I don't know if you'll still need TIFFWriteDirectory() as I've never done
exactly that. It should be obvious when trying it.

Olivier

Le jeu. 13 avr. 2023, à 08 h 52, David C. Partridge <
[email protected]> a écrit :

> So, I just need to add those tags with a number of entries equal to the
> number to strips to be written, which I think I can work out like this:
>
>
>
>                     //
>
>                     // Work out how many scanlines fit into the default
> strip
>
>                     //
>
>                     unsigned int rowsPerStrip = STRIP_SIZE_DEFAULT /
> scanLineSize;
>
>
>
>                     //
>
>                     // From that we derive the number of strips
>
>                     //
>
>                     int numStrips = h / rowsPerStrip;
>
>                     //
>
>                     // If it wasn't an exact division (IOW there's a
> remainder), add one
>
>                     // for the final (short) strip.
>
>                     //
>
>                     if (0 != h % rowsPerStrip)
>
>                            ++numStrips;
>
> is that still valid if compression is enabled?
>
>
>
> If I do that, I assume the internal code would update those tags, and I
> would then need to call WriteDirectory immediately prior to Close?  Or
> would the automatic RewriteDirectory do it in place in the size hadn’t
> changed?
>
>
>
> Thanks
>
> David
>
_______________________________________________
Tiff mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/tiff

Reply via email to