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
December 2004

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

2004.12.07 11:25 "Fetching pixel data from 4bit tiff", by Dan Field
2004.12.07 11:32 "Re: Fetching pixel data from 4bit tiff", by Joris Van Damme
2004.12.07 11:38 "Re: Fetching pixel data from 4bit tiff", by Dan Field
2004.12.07 11:48 "Re: Fetching pixel data from 4bit tiff", by Joris Van Damme
2004.12.07 11:57 "Re: Fetching pixel data from 4bit tiff", by Dan Field
2004.12.07 12:21 "Re: Fetching pixel data from 4bit tiff", by Joris Van Damme
2004.12.07 13:02 "Re: Fetching pixel data from 4bit tiff", by Joris Van Damme
2004.12.07 14:50 "Re: Fetching pixel data from 4bit tiff", by Dan Field
2004.12.07 15:52 "Re: Fetching pixel data from 4bit tiff", by Bob Friesenhahn
2004.12.07 16:46 "Re: Fetching pixel data from 4bit tiff", by Dan Field
2004.12.07 17:04 "Re: Fetching pixel data from 4bit tiff", by Bob Friesenhahn
2004.12.07 20:00 "Re: Fetching pixel data from 4bit tiff", by Joris Van Damme
2004.12.07 20:41 "Re: Fetching pixel data from 4bit tiff", by Bob Friesenhahn

2004.12.07 15:52 "Re: Fetching pixel data from 4bit tiff", by Bob Friesenhahn

On Tue, 7 Dec 2004, Dan Field wrote:

> Hi. I'm new to libtiff and I'm no C guru either, so please excuse my 
> ignorance here .
>
> I am trying to get pixel data from a 4bit TIFF. I can use  TIFFReadRGBAImage, 
> TIFFReadR, TIFFReadG, TIFFReadB, TIFFReadA but surely these will not provide 
> the correct data for a 4bit image?
>
> What method should I use to work with the raster, and what sort of data 
> should I expect from a 4bit image pixel?

You should use TIFFReadScanline() to read each scanline into memory 
you have allocated.  There is one scanline per row.  The scan-line is 
returned packed according to the TIFF specification, with two samples 
per byte.  It is a small matter of masking and shifting to obtain each 
nibble.  The only tricky case is to properly handle an image with an 
odd number of columns.

TIFFReadRGBAImage() should only be used for color RGB images and is 
best reserved for use when all other approaches fail since it is not 
very memory efficient.

Bob
======================================
Bob Friesenhahn
bfriesen@simple.dallas.tx.us
http://www.simplesystems.org/users/bfriesen