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