AWARE SYSTEMS
TIFF and LibTiff Mail List Archive

Thread

2002.09.11 13:55 "Tags modifcation", by Gerben Koopmans
2002.09.11 14:21 "Re: Tags modifcation", by Frank Warmerdam
2002.09.30 18:23 "Re: Seek help", by Zhongfu Zhou
2002.09.30 17:34 "Seek help", by Zhongfu Zhou
2002.09.30 18:00 "Re: Seek help", by Frank Warmerdam
2002.10.01 04:36 "Re: Seek help", by Peter Montgomery

2002.09.30 17:34 "Seek help", by Zhongfu Zhou

Dear all,

I want to creat some grayscale images and wrote following code, but the images produced is always wrong. Anyone can kindly have a look to my code and give me some suggestions. Thanks a lot.

#include <stdio.h>
#include <tiffio.h>
#include <math.h>

int main(int argc, char *argv[])
  {
    FILE * pFile;
    uint32 width, height;

      uint32 lSize;

      int buffer[100];

  int i;

  pFile = fopen ( "test4", "r" );

  if (pFile==NULL) exit (1);

 //Giving values of width and height
  width = 10;
  height = 10;
  lSize =width*height;

 //copy the file into the buffer.

    for (i=0; i<lSize; ++i)
      {
        fscanf (pFile,"%i",&buffer[i]);
        printf ("%i,%i\n", i,buffer[i]);
      }

   if (buffer == NULL) exit (2);

TIFF *image;

// Open the Tiff flie
if ((image = TIFFOpen("output.tif","w")) == NULL)
  {
  printf ("Could not open output.tif for writing \n");
  exit (42);
  }

//set parameters

TIFFSetField(image,TIFFTAG_IMAGEWIDTH, 10);

TIFFSetField(image,TIFFTAG_IMAGELENGTH, 10);

TIFFSetField(image,TIFFTAG_BITSPERSAMPLE, 8);

TIFFSetField(image,TIFFTAG_SAMPLESPERPIXEL, 1);

TIFFSetField(image,TIFFTAG_ROWSPERSTRIP, 10);

TIFFSetField(image,TIFFTAG_ORIENTATION,ORIENTATION_TOPLEFT);

TIFFSetField(image,TIFFTAG_COMPRESSION, COMPRESSION_NONE);

TIFFSetField(image,TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);

//TIFFSetField(image,TIFFTAG_FILLORDER, FILLORDER_MSB2LSB);

TIFFSetField(image,TIFFTAG_PLANARCONFIG,PLANARCONFIG_CONTIG);

TIFFSetField(image,TIFFTAG_XRESOLUTION, 10.0);

TIFFSetField(image,TIFFTAG_YRESOLUTION, 10.0);

TIFFSetField(image,TIFFTAG_RESOLUTIONUNIT,RESUNIT_INCH);

TIFFWriteEncodedStrip(image,0,buffer,100);

    free (buffer);
    fclose(pFile);
    TIFFClose(image);
}

The date matrix of file "test4" I used is:

1 0 1 0 1 0 1 0 1 0 
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 
1 0 1 0 1 0 1 0 1 0 
0 1 0 1 0 1 0 1 0 1 
1 1 1 1 1 1 1 1 1 1 
1 1 1 0 1 1 1 1 0 1 
1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1