![]() |
Leptonica 1.83.1
Image processing and image analysis suite
|
Go to the source code of this file.
Macros | |
| #define | DEBUG 0 |
Functions | |
| PIX * | pixReadStreamBmp (FILE *fp) |
| PIX * | pixReadMemBmp (const l_uint8 *cdata, size_t size) |
| l_ok | pixWriteStreamBmp (FILE *fp, PIX *pix) |
| l_ok | pixWriteMemBmp (l_uint8 **pfdata, size_t *pfsize, PIX *pixs) |
Variables | |
| RGBA_QUAD | bwmap [2] = { {255,255,255,255}, {0,0,0,255} } |
| static const l_int32 | L_MAX_ALLOWED_WIDTH = 1000000 |
| static const l_int32 | L_MAX_ALLOWED_HEIGHT = 1000000 |
| static const l_int64 | L_MAX_ALLOWED_PIXELS = 400000000LL |
| static const l_int32 | L_MAX_ALLOWED_RES = 10000000 |
Read bmp
PIX *pixReadStreamBmp()
PIX *pixReadMemBmp()
Write bmp
l_int32 pixWriteStreamBmp()
l_int32 pixWriteMemBmp()
Definition in file bmpio.c.
| PIX * pixReadMemBmp | ( | const l_uint8 * | cdata, |
| size_t | size ) |
| [in] | cdata | bmp data |
| [in] | size | number of bytes of bmp-formatted data |
Notes:
(1) The BMP file is organized as follows:
* 14 byte fileheader
* Variable size infoheader: 40, 108 or 124 bytes.
We only use data in he first 40 bytes.
* Optional colormap, with size 4 * ncolors (in bytes)
* Image data
(2) 2 bpp bmp files are not valid in the original spec, but they
are valid in later versions.
(3) We support reading rgb files with 24 bpp of input data. The
transparency component of the generated pix is 255 (opaque).
We do not support reading rgba files with 32 bpp input data.
For rgba images with non-opaque transparency components, use png.
Definition at line 132 of file bmpio.c.
References PixColormap::array, BMP_FileHeader::bfOffBits, BMP_FileHeader::bfType, BMP_InfoHeader::biBitCount, BMP_InfoHeader::biCompression, BMP_InfoHeader::biHeight, BMP_InfoHeader::biSizeImage, BMP_InfoHeader::biWidth, BMP_InfoHeader::biXPelsPerMeter, BMP_InfoHeader::biYPelsPerMeter, BMP_FHBYTES, BMP_ID, COLOR_BLUE, COLOR_GREEN, COLOR_RED, L_ALPHA_CHANNEL, PixColormap::n, and REMOVE_CMAP_BASED_ON_SRC.
Referenced by pixReadStreamBmp().
| PIX * pixReadStreamBmp | ( | FILE * | fp | ) |
| [in] | fp | file stream opened for read |
Notes:
(1) Here are references on the bmp file format:
http://en.wikipedia.org/wiki/BMP_file_format
http://www.fortunecity.com/skyscraper/windows/364/bmpffrmt.html
Definition at line 88 of file bmpio.c.
References pixReadMemBmp().
| l_ok pixWriteMemBmp | ( | l_uint8 ** | pfdata, |
| size_t * | pfsize, | ||
| PIX * | pixs ) |
| [out] | pfdata | data of bmp formatted image |
| [out] | pfsize | size of returned data |
| [in] | pixs | 1, 2, 4, 8, 16, 32 bpp |
Notes:
(1) 2 bpp bmp files are not valid in the original spec, and are
written as 8 bpp.
(2) pix with depth <= 8 bpp are written with a colormap.
16 bpp gray and 32 bpp rgb pix are written without a colormap.
(3) The transparency component in an rgb pix is ignored.
All 32 bpp pix have the bmp alpha component set to 255 (opaque).
(4) The bmp colormap entries, RGBA_QUAD, are the same as
the ones used for colormaps in leptonica. This allows
a simple memcpy for bmp output.
Definition at line 447 of file bmpio.c.
References RGBA_Quad::alpha, PixColormap::array, BMP_FileHeader::bfOffBits, BMP_FileHeader::bfSize, BMP_FileHeader::bfType, BMP_InfoHeader::biBitCount, BMP_InfoHeader::biClrImportant, BMP_InfoHeader::biClrUsed, BMP_InfoHeader::biHeight, BMP_InfoHeader::biPlanes, BMP_InfoHeader::biSize, BMP_InfoHeader::biSizeImage, BMP_InfoHeader::biWidth, BMP_InfoHeader::biXPelsPerMeter, BMP_InfoHeader::biYPelsPerMeter, RGBA_Quad::blue, BMP_FHBYTES, BMP_ID, BMP_IHBYTES, COLOR_BLUE, COLOR_GREEN, COLOR_RED, RGBA_Quad::green, and RGBA_Quad::red.
Referenced by pixWriteStreamBmp().
| l_ok pixWriteStreamBmp | ( | FILE * | fp, |
| PIX * | pix ) |
| [in] | fp | file stream |
| [in] | pix | all depths |
Definition at line 404 of file bmpio.c.
References pixWriteMemBmp().