AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
September 2002

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2002.09.30 17:34 "Seek help", by Zhongfu Zhou
2002.09.30 18:00 "Re: Seek help", by Frank Warmerdam
2002.09.30 18:23 "Re: Seek help", by Zhongfu Zhou
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