| AWARE [SYSTEMS] | Imaging expertise for the Delphi developer | |||||||
![]() |
TIFF and LibTiff Mailing List Archive | |||||||
LibTiff Mailing List
TIFF and LibTiff Mailing List Archive Contact
The TIFF Mailing List Homepage |
Thread2005.08.09 18:20 "Re: Binary Data in Artist Tag", by Andrey KiselevOn Tue, Aug 09, 2005 at 01:56:31PM +0000, J winchester wrote:
> I'm trying to use libtiff to read a tiff file that has some binary
> data stored in the Artist tag. The data was put there by another
> program that I have no control over. I can't read the data because
> libtiff is treating it as an ASCII tag. When I attempt to read the
> field, libtiff stops reading when it hits the first NULL byte in the
> data. I've tried using TIFFMergeFieldInfo to change the parameters for
> that tag but It didn't seem to work. I know this is a non-standard use
> for the tag but I was wondering if anybody knew how I might be able to
> read and write this data.
Steve,
I am afraid there is no way to avoid that except modifying libtiff
sources. Try to replace the Artist tag data type in the tif_dirinfo.c to
TIFF_UNDEFINED. It will be read as array of bytes. You should also
change the passcount field. So it will look like that:
...
{ TIFFTAG_ARTIST, -1,-1, TIFF_UNDEFINED, FIELD_CUSTOM,
TRUE, TRUE, "Artist" },
...
an you will read the field in the following way:
uint16 count;
uint8 *buffer;
TIFFGetField(tiff, TIFFTAG_ARTIST, &count, &buffer);
In the 'count' variable you will get the buffer size.
Andrey
--
Andrey V. Kiselev
Home phone: +7 812 5970603 ICQ# 26871517
|
|||||||