LEADTOOLS Raster Imaging C++ Class Library Help > LEADTOOLS Raster Imaging Features > Loading and Saving Images > Used Structures > LOADINFO |
typedef struct _LOADINFO
{
L_UINT uStructSize;
L_INT Format; /* File format */
L_INT Width; /* Image width */
L_INT Height; /* Image height */
L_INT BitsPerPixel; /* Bits per pixel */
L_INT XResolution; /* X resolution (DPI) */
L_INT YResolution; /* Y resolution (DPI) */
L_SIZE_T Offset; /* Data offset */
L_UINT Flags; /* Special flags */
L_RGBQUAD rgbQuad[256]; /* palette */
L_UINT rgbColorMask[3]; /* RGB color masks */
L_UINT32 uStripSize; /* strip size before decompression */
L_INT nPhotoInt; /* color information */
L_INT nPlanarConfig; /* planar configuration information */
} LOADINFO, * pLOADINFO;
The LOADINFO structure provides file format information to the LBase::LoadInfoCallBack function, which you can use when loading image data in a format that LEADTOOLS does not recognize.
Member |
Description |
|
uStructSize |
Size of this structure in bytes, for versioning. Use the sizeof() macro to calculate this value. |
|
Format |
File format. The following are valid formats: |
|
|
Value |
Meaning |
|
FILE_FAX_G3_1D |
[66] Raw FAX, compressed using CCITT group 3, 1 dimension. |
|
FILE_FAX_G3_2D |
[67] Raw FAX, compressed using CCITT group 3, 2 dimensions. |
|
FILE_FAX_G4 |
[68] Raw FAX, compressed using CCITT group 4. |
|
FILE_RAW |
[153] Raw uncompressed data |
|
FILE_RAW_RLE4 |
[157] Raw RLE4 compressed, 4 bit data. (Read only) |
|
FILE_RAW_RLE8 |
[158] Raw RLE8 compressed, 8 bit data. (Read only) |
|
FILE_RAW_BITFIELDS |
[159] Raw BITFIELD data, 16 or 32-bit data. (Read only) |
|
FILE_RAW_PACKBITS |
[160] Raw PackBits compression. (Read only) |
Width |
Image width in pixels. |
|
Height |
Image height in pixels. |
|
BitsPerPixel |
Bits per pixel of the image data in the file. |
|
XResolution |
Horizontal resolution for rendering the image, specified in dots per inch. This is an optional field. |
|
YResolution |
Vertical resolution for rendering the image, specified in dots per inch. This is an optional field. |
|
Offset |
Position of the first byte of image data. This can be 0 if your file does not have a header. |
|
Flags |
Special flags, which can be specified as follows. You can use a bitwise OR to specify more than one value. Possible values are: |
|
|
Value |
Meaning |
|
LOADINFO_TOPLEFT |
[0x00000001] The image has a TOP_LEFT view perspective. |
|
LOADINFO_ORDERRGB |
[0x00000002] The color order is RGB. If the bitmap is a 16-bit value, it is in the 555 format (uses 5 bits each for red, green and blue and the highest bit for alpha). |
|
LOADINFO_ORDERRGB565 |
[0x00040000] The color order is RGB 565: it uses 5 bits for red, 6 bits for green, and 5 bits for blue. |
|
LOADINFO_WHITEONBLACK |
[0x00000004] The image is white-on-black. |
|
LOADINFO_LSB |
[0x00000008] The least significant bit is filled first. |
|
LOADINFO_TOPLEFT90 |
[0x00000010] The image has a TOP_LEFT90 view perspective. ( Imaging toolkits) |
|
LOADINFO_TOPLEFT270 |
[0x00000020] The image has a TOPLEFT270 view perspective. ( Imaging toolkits) |
|
LOADINFO_REVERSE |
[0x00000040] Each line is reversed (mirrored). |
|
LOADINFO_TOPLEFT180 |
[0x00000080] The image has a TOP_LEFT180 view perspective. ( Imaging toolkits) |
|
LOADINFO_BOTTOMLEFT90 |
[0x00000100] The image has a BOTTOM_LEFT90 view perspective. ( Imaging toolkits) |
|
LOADINFO_BOTTOMLEFT180 |
[0x00000200] The image has a BOTTOM_LEFT180 view perspective. ( Imaging toolkits) |
|
LOADINFO_BOTTOMLEFT270 |
[0x00000400] The image has a BOTTOM_LEFT270 view perspective. ( Imaging toolkits) |
|
LOADINFO_PAD4 |
[0x00000800] Each line is padded to a multiple of 4 bytes. (raw data only) |
|
LOADINFO_PALETTE |
[0x00001000] A palette is supplied in the rgbQuad field. (raw data only) |
|
LOADINFO_BITFIELDS |
[0x00002000] 3 color masks are specified in the rgbColorMask field. This is for raw Bitfield compressed data only. |
|
LOADINFO_ORDERGRAY |
[0x00004000] Image is grayscale. |
|
LOADINFO_MOTOROLAORDER |
[0x00008000] Image bytes are in Motorola byte order. Valid only for 16, 48 and 64-bit.) |
|
LOADINFO_ORDERROMM |
[0x00010000] The color order is ROMM. Valid only for 24 and 48-bit.) |
|
LOADINFO_SIGNED |
[0x00020000] The image data is signed raw data. |
rgbQuad |
Palette for uncompressed data that is 8 bits per pixel or less. Fill in the first 2 BitsPerPixel entries in this palette and include the LOADINFO_PALETTE flag in the Flags field. |
|
rgbColorMask |
Array of RGB color masks used with raw, Bitfield compressed data. |
|
uStripSize |
Size of the data strip before it is decompressed. |
|
nPhotoInt |
Value that represents color information. Possible values are: |
|
|
Value |
Meaning |
|
For FILE_RAW_CCITT |
|
|
FILE_RAW_G3_1D, |
|
|
FILE_RAW_G3_2D and |
|
|
FILE_FAX_G4 |
|
|
0 |
White is zero |
|
1 |
Black is zero |
|
For FILE_RAW_PACKBITS: |
|
|
2 |
There is no color map (RGB) |
|
5 |
Separated CMYK |
|
6 |
YC b C r color space |
|
8 |
1976 CIE L*a*b |
nPlanarConfig |
Planar configuration. This value is used only if Format is FILE_RAW_PACKBITS. Otherwise, it is ignored. Possible values are: |
|
|
Value |
Meaning |
|
1 |
Chunky |
|
2 |
Planar format |
Comments
pLOADINFO is a pointer to a LOADINFO structure. Where the function parameter type is pLOADINFO, you can declare a LOADINFO variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pLOADINFO variable is necessary only if your program requires a pointer.
Some functions which take this structure as a parameter require that the structure be initialized prior to the function call. You must set the uStructSize member to the total size, in bytes, of the structure. Use the sizeof() macro to calculate this value. Functions that do not require the structure be initialized will take the total size of the structure, in bytes, as an additional function parameter.
LOADINFO_TOPLEFT, LOADINFO_TOPLEFT90 and LOADINFO_TOPLEFT270 cannot be combined.
LOADINFO_REVERSE can be combined with LOADINFO_TOPLEFT, LOADINFO_TOPLEFT90 or LOADINFO_TOPLEFT270. If LOADINFO_REVERSE is set, every line is reversed before being put into the bitmap.
To load a raw fax file, you must provide a LBase::LoadInfoCallBack . If you recognize the file and you know the height and width of the file, set LOADINFO.Width and LOADINFO.Height to a positive value. To automatically detect the width and height of the fax file, set LOADINFO.Width and LOADINFO.Height to -1.
To load raw uncompressed data, set the Format field to FILE_RAW. Valid values must be set for the following LOADINFO fields: Width, Height, BitsPerPixel, Offset (byte location in the file where the raw data begins). If each line of RAW data is padded so that the number of bytes is a multiple of 4 (as is the case with raw Windows BMP data), include LOADINFO_PAD4 in the Flags field. Include an orientation flag in the Flags field to load the data with the proper orientation. For example, raw Windows BMP data is stored with a BOTTOM_LEFT orientation. If the orientation is unknown, include the TOP_LEFT flag. If the raw data is 8 bits per pixel or less, then the image is palettized and a palette must be generated. If this is the case, include the LOADINFO_PALETTE flag, and fill in the first (2 bits per pixel) entries of the rgbQuad field.
If the color order is RGB then include LOADINFO_ORDERRGB or LOADINFO_ORDERRGB565. If either of the LOADINFO_ORDERRGB or LOADINFO_ORDERRGB565 flags are not included, the data will be loaded as ORDER_BGR.