Hi David

> PS could someone please explain how I should interpret the meaning of e.g.
TIFF_SETGET_C16_UINT8

You can find a lot of writing and reading examples and hints in
test\custom_dir_EXIF_231.c

TIFF_SETGET_C16_UINT8 means that the TIFFSetField() or TIFFGetField()
function expects data of a dynamic (length is variable) UINT8 type array. A
count parameter has to be provided to TIFFSetField() or TIFFGetField() of
type uint16_t  ("C16").

For example:

         TIFFSetField(m_tiff, TIFFTAG_CFAPATTERN, 4, TIFF_CFAPattern_BGGR);

uint16_t  count16;
uint8_t   *pByteArray;
         TIFFGetField(m_tiff, TIFFTAG_CFAPATTERN, &count16, &pByteArray);

count16 returns the number of read uint8_t values (which should be 4 because
4 bytes were written). The data is stored in an uint8_t array pointed to by
pByteArray.
Be aware, that this LibTIFF internally allocated memory will vanish if you
setup / switch to a new IFD or close the file. Thus, you should copy the
content into a byte array of your application.

When you want to access EXIF tags, then you have first to switch the EXIF
"custom"-IFD. An example is in custom_dir_EXIF_231.c.
And see also the LibTIFF documentation e.g. at
http://www.simplesystems.org/libtiff/functions/TIFFCustomDirectory.html 

Regards
Su

_______________________________________________
Tiff mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/tiff

Reply via email to