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
April 2008

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

2008.04.17 14:19 "Writing TIFF Group-4 file from array byte", by Filippo Trimoldi
2008.04.17 15:05 "Re: Writing TIFF Group-4 file from array byte", by Gerben Vos

2008.04.17 14:19 "Writing TIFF Group-4 file from array byte", by Filippo Trimoldi

With Java Morena Framework (an Image Acquisition Framework for Java) I've a
ImageConsumer object that give me a byte Array with size equal to
width*height that I need to write in a Tiff group-4 image with LibTiff
through a JNI. In the C side i perform this code with my byte Array:

// Open the TIFF file
  if((image = TIFFOpen(<imagePath> "w")) == NULL)
  {
    printf("Could not open output.tif for writing\n");
  }

  TIFFSetField(image, TIFFTAG_ARTIST,"Per ora FILIPPO");
  TIFFSetField(image, TIFFTAG_COPYRIGHT,"Per ora è di FILIPPO");
  TIFFSetField(image, TIFFTAG_IMAGEWIDTH, *width);
  TIFFSetField(image, TIFFTAG_IMAGELENGTH, *height);
  TIFFSetField(image, TIFFTAG_BITSPERSAMPLE, 1);
  TIFFSetField(image, TIFFTAG_SAMPLESPERPIXEL, 1);
  TIFFSetField(image, TIFFTAG_ROWSPERSTRIP, height);

  TIFFSetField(image, TIFFTAG_COMPRESSION, COMPRESSION_CCITTFAX4);
  TIFFSetField(image, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISWHITE);
  TIFFSetField(image, TIFFTAG_FILLORDER, FILLORDER_MSB2LSB);
  TIFFSetField(image, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);

  TIFFSetField(image, TIFFTAG_XRESOLUTION, 300.0);
  TIFFSetField(image, TIFFTAG_YRESOLUTION, 300.0);
  TIFFSetField(image, TIFFTAG_RESOLUTIONUNIT, RESUNIT_INCH);

  // Write the information to the file
  TIFFWriteEncodedStrip(image, 0, <array byte that comes from java>,
arraySize);


But the consequent image is wrong. It's seems to be resized on the X axis
but anyway it's wrong.
I noticed that my array that comes from Java it's a simple sequence of 0-1
(probably coming from scanner in this format) of (width*height) lenght.

What i'm doing wrong? Where is my fault?