mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-12-21 05:21:35 +08:00
ca083a0897
git-svn-id: https://tesseract-ocr.googlecode.com/svn/trunk@582 d0cd1f9f-072b-0410-8dd7-cf729c803f20
75 lines
3.6 KiB
C
75 lines
3.6 KiB
C
/*====================================================================*
|
|
- Copyright (C) 2001 Leptonica. All rights reserved.
|
|
- This software is distributed in the hope that it will be
|
|
- useful, but with NO WARRANTY OF ANY KIND.
|
|
- No author or distributor accepts responsibility to anyone for the
|
|
- consequences of using this software, or for whether it serves any
|
|
- particular purpose or works at all, unless he or she says so in
|
|
- writing. Everyone is granted permission to copy, modify and
|
|
- redistribute this source code, for commercial or non-commercial
|
|
- purposes, with the following restrictions: (1) the origin of this
|
|
- source code must not be misrepresented; (2) modified versions must
|
|
- be plainly marked as such; and (3) this notice may not be removed
|
|
- or altered from any source or modified source distribution.
|
|
*====================================================================*/
|
|
|
|
#ifndef LEPTONICA_BMP_H
|
|
#define LEPTONICA_BMP_H
|
|
|
|
/*
|
|
* This file is here to describe the fields in the header of
|
|
* the BMP file. These fields are not used directly in Leptonica.
|
|
* The only thing we use are the sizes of these two headers.
|
|
* Furthermore, because of potential namespace conflicts with
|
|
* the typedefs and defined sizes, we have changed the names
|
|
* to protect anyone who may also need to use the original definitions.
|
|
* Thanks to J. D. Bryan for pointing out the potential problems when
|
|
* developing on Win32 compatible systems.
|
|
*/
|
|
|
|
/*-------------------------------------------------------------*
|
|
* BMP file header *
|
|
*-------------------------------------------------------------*/
|
|
struct BMP_FileHeader
|
|
{
|
|
l_int16 bfType; /* file type; must be "BM" */
|
|
l_int16 bfSize; /* length of the file;
|
|
sizeof(BMP_FileHeader) +
|
|
sizeof(BMP_InfoHeader) +
|
|
size of color table +
|
|
size of DIB bits */
|
|
l_int16 bfFill1; /* remainder of the bfSize field */
|
|
l_int16 bfReserved1; /* don't care (set to 0)*/
|
|
l_int16 bfReserved2; /* don't care (set to 0)*/
|
|
l_int16 bfOffBits; /* offset from beginning of file */
|
|
l_int16 bfFill2; /* remainder of the bfOffBits field */
|
|
};
|
|
typedef struct BMP_FileHeader BMP_FH;
|
|
|
|
#define BMP_FHBYTES sizeof(BMP_FH)
|
|
|
|
|
|
/*-------------------------------------------------------------*
|
|
* BMP info header *
|
|
*-------------------------------------------------------------*/
|
|
struct BMP_InfoHeader
|
|
{
|
|
l_int32 biSize; /* size of the BMP_InfoHeader struct */
|
|
l_int32 biWidth; /* bitmap width in pixels */
|
|
l_int32 biHeight; /* bitmap height in pixels */
|
|
l_int16 biPlanes; /* number of bitmap planes */
|
|
l_int16 biBitCount; /* number of bits per pixel */
|
|
l_int32 biCompression; /* compression format (0 == uncompressed) */
|
|
l_int32 biSizeImage; /* size of image in bytes */
|
|
l_int32 biXPelsPerMeter; /* pixels per meter in x direction */
|
|
l_int32 biYPelsPerMeter; /* pixels per meter in y direction */
|
|
l_int32 biClrUsed; /* number of colors used */
|
|
l_int32 biClrImportant; /* number of important colors used */
|
|
};
|
|
typedef struct BMP_InfoHeader BMP_IH;
|
|
|
|
#define BMP_IHBYTES sizeof(BMP_IH)
|
|
|
|
|
|
#endif /* LEPTONICA_BMP_H */
|