[Gdal-dev] libtiff in GDAL - append mode

Julien Demaria dem at acri-st.fr
Fri Oct 29 11:28:33 EDT 2004


Hi,

I try to create a multi-directory TIFF file with the libtiff embedded in 
GDAL, but this code which works well with the standard libtiff 3.7.0 
creates only one directory with GDAL's libtiff.... (tested only on Linux) :

Thanks in advance for help,

Julien


#include "tiff.h"
#include "tiffio.h"

int main(int argc, char **argv) {
     char *fout = argv[1];
     TIFF *tif;
     unsigned char buf[24] = {0};

     buf[0] = 22;
     buf[1] = 44;
     buf[2] = 55;

     tif = TIFFOpen(fout, "w");
     TIFFSetField( tif, TIFFTAG_BITSPERSAMPLE, 8 );
     TIFFSetField( tif, TIFFTAG_SAMPLESPERPIXEL, 1 );
     TIFFSetField( tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK );
     TIFFSetField( tif, TIFFTAG_IMAGEWIDTH, 4 );
     TIFFSetField( tif, TIFFTAG_IMAGELENGTH, 6 );
     TIFFSetField( tif, TIFFTAG_ROWSPERSTRIP, 6 );
     TIFFSetField( tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG );
     TIFFWriteEncodedStrip(tif, 0, buf, 24);
     TIFFClose(tif);

     tif = TIFFOpen(fout, "a");
     TIFFSetField( tif, TIFFTAG_BITSPERSAMPLE, 8 );
     TIFFSetField( tif, TIFFTAG_SAMPLESPERPIXEL, 1 );
     TIFFSetField( tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK );
     TIFFSetField( tif, TIFFTAG_IMAGEWIDTH, 2 );
     TIFFSetField( tif, TIFFTAG_IMAGELENGTH, 3 );
     TIFFSetField( tif, TIFFTAG_ROWSPERSTRIP, 3 );
     TIFFSetField( tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG );
     TIFFWriteEncodedStrip(tif, 0, buf, 6);
     TIFFWriteDirectory(tif);
     TIFFClose(tif);

     return 0;
}




More information about the Gdal-dev mailing list