LOADFILEOPTION

typedef struct _LOADFILEOPTION 
{ 
   L_UINT uStructSize; 
   L_INT XResolution; 
   L_INT YResolution; 
   L_UINT Flags; 
   L_INT Passes; 
   L_INT PageNumber; 
   L_UINT GlobalLoop; 
   L_IFDTYPE IFD; 
   L_UINT uRedScan; 
   L_UINT uGreenScan; 
   L_UINT uBlueScan; 
   L_UINT Flags2; 
   L_UINT64 IFD64; /* 32-bit apps only */ 
   L_VOID *pFilterData; 
   L_SIZE_T uFilterDataSize; 
   L_INT nFilter; 
   L_INT nAttachment; 
} LOADFILEOPTION, * pLOADFILEOPTION; 

The LOADFILEOPTION structure specifies options for reading or writing an image file.

Members

uStructSize

Size of the LOADFILEOPTION structure. This should be sizeof(LOADFILEOPTION). You must fill this member.

XResolution

Horizontal dots per inch. (Used only with LBitmapBase::Initialize.)

YResolution

Vertical dots per inch. (Used only with LBitmapBase::Initialize.)

Flags

Any of the following flags. (You can use a bitwise OR to specify more than one value.)

Value Meaning
ELO_REVERSEBITS [0x00000001] Reverses the bit order when writing CCITT Group 3 and 4 files, so that the least significant bit (LSB) is first.
ELO_GLOBALBACKGROUND [0x00000002] Causes a GIF file to be saved with the global background color specified by the GlobalBackground field.
ELO_GLOBALPALETTE [0x00000004] Causes a GIF file to be saved with the global palette specified by the GlobalPalette field.
ELO_GLOBALLOOP [0x00000008] Enables looping when loading an animated file. This flag must be on for the GlobalLoop field to be used.
ELO_ROTATED [0x00000010] Loads files without rotating them. This affects files that can be saved with a rotated view perspective. For more information refer to Accounting for View Perspective.
ELO_IGNOREVIEWTRANSFORMS [0x00000020] Causes a Flash-Pix file to be loaded without being modified by the viewing transforms.
ELO_IGNORECOLORTRANSFORMS [0x00000040] Causes a Flash-Pix file to be loaded without being modified by the color transforms.
ELO_SIGNED [0x00000080] Indicates the bitmap can contain negative pixel values.
ELO_DISABLEMMX [0x00000100] Do not use MMX optimized code
ELO_DISABLEP3 [0x00000200] Do not use P3 specific optimized code.
ELO_USEIFD [0x00000400] Use the IFD offset.
ELO_FORCECIELAB [0x00000800] (JPEG only) The file has CIELAB colorspace
ELO_USEBADJPEGPREDICTOR [0x00001000] (JPEG only) Load lossless JPEG file using an incorrect predicto
ELO_IGNOREPHOTOMETRICINTERP [0x00002000] (TIFF only) Use RGB colorspace instead of the PhotometricInterpretation stored in the file. Use this to disable the color conversion to RGB during the load process.
ELO_FORCERGBFILE [0x00004000] (JPEG only) The file has RGB colorspace.
ELO_MULTISPECTRALSCAN [0x00008000] Use uXXXScan values info when loading NITF files.
ELO_NOPALETTE [0x00010000] Use the new palette mechanism. Do not use GDI memory to store the palette.
ELO_IGNOREVIEWPERSPECTIVE [0x00200000] (TIF and Exif only) Ignore the view perspective stored in the file: load the file as TOP_LEFT. If you are loading a TIFF or Exif file that looks rotated or flipped, try setting this flag before loading the file.
ELO_USEFASTCONVERSION [0x00400000] (TIF and JPEG only) Use the fast color conversions when loading CMYK or CIELab files. Setting this flag will greatly speed up the loading of CMYK and CIELab files, but it will reduce the image quality.
ELO_ALPHAINIT [0x01000000] Initializes the alpha channel for 32 or 64-bit color images to all ones (0xFF for 8-bit alpha channels and 0xFFFF for 16-bit alpha channels). If this flag is not specified then:
- If the source bitmap has alpha values, they will remain unchanged in the loaded bitmap.
- If the source bitmap has no alpha values, the alpha values in the loaded bitmap will be initialized to all ones (0xFF for 8-bit alpha channels and 0xFFFF for 16-bit alpha channels).
The default value for LOADFILEOPTION.Flags includes this flag.
This flag is ignored when loading the following formats:
- FILE_TIF
- FILE_TIFLZW
- FILE_TIF_CMYK
- FILE_TIFLZW_CMYK
- FILE_TIF_PACKBITS
- FILE_TIF_PACKBITS_CMYK
- FILE_TIF_YCC
- FILE_TIFLZW_YCC
- FILE_TIF_PACKBITS_YCC
- FILE_TIF_J2K
- FILE_TIF_ZIP
- FILE_PNG
- FILE_PNG_ICO
- FILE_PSD
ELO_PREMULTIPLY_ALPHA [0x40000000] Premultiply the alpha values when loading the image data.  Only used when loading PNG and PSD files that have alpha information.
ELO_LOADCORRUPTED [0x00010000] Attempt to load corrupted files.
ELO_NITF_USE_MAX [0x00040000] (NITF Only) Use the maximum width and height.
ELO_NITF_USE_MONODARK [0x00080000] (NITF Only) Use the mono dark process (to brighten the resulting bitmap).
ELO_NITF_SHOW_OBJECT [0x00100000] (NITF Only) Make the object CGM available if it exists.
ELO_IGNORE_ADOBE_COLOR_TRANSFORM [0x04000000] Ignore the Adobe marker containing color transformations.  Set this flag to load corrupt files with wrong APPE marker which have incorrect colors.
ELO_ALLOW13BITLZWCODE [0x08000000] Try to decode buggy LZW TIF files that contain 13-bit LZW codes.
ELO_VECTOR_CONVERTED_UNITS [0x10000000] Use converted units, instead of the input file's default.
ELO_LOADOLDJBIG2FILES [0x20000000] Used to load old JBIG2 files generated by LEAD JBIG2 filter.

Passes

The number of passes (scans through the image) when loading or saving a progressive JPEG or LEAD CMP file. (This value is also used when loading, but not when saving, interlaced PNG files.) (This value is also used when loading JBIG files to determine the number of resolutions to load to create a progressive load effect.)

Possible values when loading a progressive file:

Value Meaning
Any positive number The LFile::LoadFileCallBack function is called the specified number of times.
CALLBACK_ONCE [0] The LFile::LoadFileCallBack function is called only once at the end.
CALLBACK_WHEN_MEANINGFUL [-1] The LFile::LoadFileCallBack function is called only on significant scans. (This is usually the best option.)
CALLBACK_ALWAYS [-2] The LFile::LoadFileCallBack function is called for the default number of scans.

PageNumber

The page number of a multipage file, which can contain more than one image. When loading a file, this is the exact page number. When saving a file, any value greater than 1 will cause the page to be appended to the end of the file. For more information on multipage files refer to Multipage File Formats.

GlobalLoop

Loop count when playing an animation. Use 0 for continuous looping. For no looping, turn off the EFO_GLOBALLOOP flag in the Flags field.

IFD

Offset within a TIFF file where a page starts. This serves as a reference page for loading pages to a large TIFF file.

uRedScan

(NITF only) Index of the scan to be loaded for the red component. Used only if ELO_MULTISPECTRALSCAN is set.

uGreenScan

(NITF only) Index of the scan to be loaded for the green component. Used only if ELO_MULTISPECTRALSCAN is set.

uBlueScan

(NITF only) Index of the scan to be loaded for the blue component. Used only if ELO_MULTISPECTRALSCAN is set.

Flags2

Any of the following flags. (You can use a bitwise OR to specify more than one value.)

Value Meaning
ELO2_MULTITHREADED [0x00000001] Use multithreaded code to load JPEG or CMP files.
ELO2_USEIFD64 [0x00000002] (TIFF only) Use the 64-bit IFD offset (IFD64). This is useful only in 32-bit applications for dealing with BigTIFF files > 4GB.
ELO2_PREFERVECTOR [0x00000008] Use vector processing, if supported.
ELO2_AUTOFIXBITMAPRESOLUTION [0x00000010] Use the options set in L_SetAutoFixBitmapResolutionOptions
ELO2_IGNORE_EMBEDDED_ICC_PROFILE [0x00000020] Ignore the ICC profile embedded in the file (if any) - useful mainly for loading TIFF/JPEG CMYK/LAB files.
Some files with CMYK or CieLAB data might contain embedded ICC profiles. These files are supposed to be viewed using these profiles to convert the CMYK/CieLAB data to BGR.
LEADTOOLS v20 and later uses these embedded ICC profiles by default. LEADTOOLS v19 and prior ignored these profiles and used a standard CMYK profile to convert to BGR.
Exif, JPEG and TIFF files are the most common file formats containing such embedded ICC profilesSet the ELO2_IGNORE_EMBEDDED_ICC_PROFILE flag when loading file to ignore embedded ICC profiles. This will ensure backwards compatibility with earlier versions of LEADTOOLS.

IFD64

Use to access pages with offsets > 4GB from very large BigTIFF files. It is not necessary to use IFD64 with regular TIFF files: just use the IFD offset. But of course, you can also access TIFF pages using this value.In 64-bit applications, the IFD member is itself a 64-bit value. Therefore, the IFD can be used to access both TIFF and BigTIFF pages and the IFD64 member is not defined.IFD64 is defined for 32-bit builds only. This value is used only if Flags2 has the ELO2_USEIFD64 flag set.According to specifications, the minimum value for the first IFD is 8 for TIFF files and 16 for BigTIFF files.

nAttachment

1-based attachment number to load.

Comments

pLOADFILEOPTION is a pointer to an LOADFILEOPTION structure. Where the function parameter type is pLOADFILEOPTION, you can declare a LOADFILEOPTION variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pLOADFILEOPTION variable is necessary only if your program requires a pointer.

To load a stamp image, you must use the LFile::ReadStamp function.

If EFO_SIGNED is set, the bitmap can contain negative pixel values. This can cause the image to be incorrectly painted when it is loaded. In order to load correctly, you must call LBitmapBase::ClearNegativePixels before loading the image. If EFO_SIGNED is not set, any negative pixels in the image will be cleared internally.

NOTES:

ELO_MULTISPECTRALSCAN is used internally by the NITF filter. You do not need to use this flag.

For an information on default load options, refer to LBaseFile::GetDefaultLoadFileOption

The structure is used by:

Help Version 21.0.2021.4.8
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help