forked from Mirrors/freeswitch
e6e5fde3b0
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13134 d0543943-73ff-0310-b7d9-9358b9ac24b2
32 lines
1.2 KiB
Plaintext
32 lines
1.2 KiB
Plaintext
Frank,
|
|
|
|
I attached a file that uses RGBA interface (tif_getimage.c) to read a tiff
|
|
file and convert to a DIB. It's advantage is that it is easy to read *any*
|
|
tiff file suported by libtiff and easily convert it to a DIB. The disadvantage
|
|
is that bilevel (B&W) bitmaps (and all other non-rgba images) are also
|
|
converted to RGBA, thus taking up 32x as much memory as needed (4 bytes per
|
|
pixel, rather than 1 bit). I read tiff files, but don't need to
|
|
write them. And my files are typically small, so the overhead is mostly
|
|
inconsequential. But for bilevel images, I overrode the get() and put()
|
|
routines of the RGBA interface to just copy the data from the input raster
|
|
to the output raster, rather than expanding out to full 32 bit format. It
|
|
would be nice if there were a simple way to handle all palletized images,
|
|
but that would take more custom routines, and it's not that important to me.
|
|
|
|
Usage:
|
|
|
|
m_pDIB = (PBITMAPINFOHEADER)::ReadTIFF(pathName);
|
|
if (m_pDIB != 0) {
|
|
m_format = IMAGETYPE_TIF;
|
|
}
|
|
|
|
This is intended as Win32, but the modifications for new get() and put()
|
|
routines may be independent of platform.
|
|
|
|
Thanks for your work supporting the forum and the library!
|
|
|
|
Regards,
|
|
|
|
Mark James
|
|
mark@james.net
|