1994.12.02 20:30 "Appending images to an existing file", by Venkatesh Narayanan

1994.12.02 20:30 "Appending images to an existing file", by Venkatesh Narayanan

Hi,

I'm trying to append some images to an existing TIFF file that already has an image in it. I'm not having much sucess doing this. Here is the sequence of calls I'm making:

        tiff = TIFFFOpen(filename, "r+"); //I've also tried "a" without success
        TIFFSetField(tiff, TIFFTAG_IMAGEWIDTH, xsize);
        TIFFSetField(tiff, TIFFTAG_IMAGELENGTH, ysize);
        TIFFSetField(tiff, TIFFTAG_IMAGEDEPTH, 1);
        TIFFSetField(tiff, TIFFTAG_BITSPERSAMPLE, bpp);
        TIFFSetField(tiff, TIFFTAG_SAMPLEFORMAT, ttype);
        TIFFSetField(tiff, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
        TIFFSetField(tiff, TIFFTAG_ORIENTATION,ORIENTATION_TOPLEFT);
        TIFFSetField(tiff, TIFFTAG_SAMPLESPERPIXEL, csize);
        TIFFSetField(tiff, TIFFTAG_TILEWIDTH, xPageSize);
        TIFFSetField(tiff, TIFFTAG_TILELENGTH, yPageSize);
        TIFFSetField(tiff, TIFFTAG_TILEDEPTH, 1);
        TIFFWriteDirectory(tiff);
        TIFFSetDirectory(tiff, 1); //this always fails and I get the message :
                                   //"Could not index into TIFF directory"
        While(..there are tiles to write..)
                TIFFWriteEncodedTile (tiff, tile, bufdata, bytecount);

Even if I take out the TIFFSetDirectory() call, what happens is that the existing file has been corrupted and can't be read at all. Anyone successfully appended images? The README file says that the append mode hasn't been tested.

Any help is welcome.

-venky

Venkatesh Narayanan         Silicon Graphics, Inc.                  
AGD/Image Processing    (415) 390-5314  venky@sgi.com