LEADTOOLS Raster Imaging C++ Class Library Help > Quick Reference > Data Types and Structures > TIFF Tags and Comments > leadfiletag |
typedef struct _LEADFILETAG
{
L_UINT16 uTag;
L_UINT16 uType;
L_UINT uCount;
L_UINT uDataSize;
L_SIZE_T uDataOffset;
}LEADFILETAG, *pLEADFILETAG;
The LEADFILETAG structure contains information about a file tag or Geo Key. A pointer to an array of this structure is obtained by the LFile::ReadTags and LFile::ReadGeoKeys functions.
Member |
Description |
|
uTag |
When used with the LFile::ReadTags function, the ID of this tag. Examples of registered tags are: |
|
|
Value |
Meaning |
|
0x8298 |
Copyright comment |
|
0x8769 |
General Exif comments |
|
0x8825 |
Exif GPS comments |
|
When used with the LFile::ReadGeoKeys function, the ID of this Geo key. Values of the GeoKey ID range between 0 and 65535. Possible ranges are: |
|
|
Range |
Meaning |
|
0..1023 |
GeoTIFF configuration keys |
|
1024..2047 |
Do not use; reserved for future use |
|
2048..3071 |
Geographic/Geocentric CS Parameter Keys |
|
3072..4095 |
Projected CS Parameter Keys |
|
4096..5119 |
Vertical CS Parameter keys |
|
5120..32767 |
Reserved |
|
32768..65535 |
Private use to store your own data |
uType |
When used with LFile::ReadTags, the tagged data type. Valid values are: |
|
|
Value |
Meaning |
|
TAG_BYTE |
[1] Byte. |
|
TAG_ASCII |
[2] Byte in the range of 0 to 255. |
|
TAG_SBYTE |
[6] Byte used as signed number in the range of -128 to +127. |
|
TAG_UNDEFINED |
[7] Byte, with application-defined usage. |
|
TAG_SHORT |
[3] Two bytes, unsigned. |
|
TAG_SSHORT |
[8] Two bytes, signed. |
|
TAG_LONG |
[4] Four bytes, unsigned. |
|
TAG_SLONG |
[9] Four bytes, signed. |
|
TAG_RATIONAL |
[5] Eight bytes, used as a pair of unsigned long integers, where the first number is the numerator and the second is the denominator of a fraction. |
|
TAG_SRATIONAL |
[10] Eight bytes, used as a pair of signed long integers, where the first number is the numerator and the second is the denominator of a fraction. |
|
TAG_FLOAT |
[11] Four bytes used as a floating point number. |
|
TAG_DOUBLE |
[12] Eight bytes used as a double-precision floating point number. |
|
When used with LFile::ReadGeoKeys, the type of GeoKey to set. This indicates whether the data pointed to by ppData is SHORT, DOUBLE or ASCII. Possible values are: |
|
|
Value |
Meaning |
|
TAG_ASCII |
[2] The data pointed to by pData is an array of ASCII bytes. |
|
TAG_SHORT |
[3] The data pointed to by pData is an array of SHORT values (2 bytes each). |
|
TAG_DOUBLE |
[12] The data pointed to by pData is an array of floating points in DOUBLE format (8 bytes each). |
uCount |
Count of data items, based on the tagged data type. For example, if the buffer size is 16 and the data type is TAG_DOUBLE, the count is 2. |
|
uDataSize |
The number of bytes in the data items. |
|
uDataOffset |
Byte offset into the ppData variables where the data for this item starts. To read the data for this item, you can use pItemData = (ppData + uDataOffset) |
Comments
pLEADFILETAG is a pointer to a LEADFILETAG structure. Where the function parameter type is pLEADFILETAG, you can declare a LEADFILETAG variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pLEADFILETAG variable is necessary only if your program requires a pointer.
Pass an address to pLEADFILETAG to LFile::ReadTags or LFile::ReadGeoKeys to read all the tags or geo keys stored in an image file. These function will allocate this pointer with an array of pLEADFILETAG structures, one for each item found. When you are done using the pLEADFILETAG pointer, you must pass it to the LFile::FreeTags to free the allocated memory.