FILEJBIG2OPTIONS

typedef struct _FILEJBIG2OPTIONS 
{ 
   L_UINT uStructSize; 
   L_UINT uImageFlags; 
   L_UCHAR ucImageTemplateType; 
   L_CHAR ImageGBATX1; 
   L_CHAR ImageGBATY1; 
   L_CHAR ImageGBATX2; 
   L_CHAR ImageGBATY2; 
   L_CHAR ImageGBATX3; 
   L_CHAR ImageGBATY3; 
   L_CHAR ImageGBATX4; 
   L_CHAR ImageGBATY4; 
   L_UINT uImageQFactor; 
   L_UINT uTextFlags; 
   L_UCHAR ucTextTemplateType; 
   L_CHAR TextGBATX1; 
   L_CHAR TextGBATY1; 
   L_CHAR TextGBATX2; 
   L_CHAR TextGBATY2; 
   L_CHAR TextGBATX3; 
   L_CHAR TextGBATY3; 
   L_CHAR TextGBATX4; 
   L_CHAR TextGBATY4; 
   L_UINT uTextMinSymArea; 
   L_UINT uTextMinSymWidth; 
   L_UINT uTextMinSymHeight; 
   L_UINT uTextMaxSymArea; 
   L_UINT uTextMaxSymWidth; 
   L_UINT uTextMaxSymHeight; 
   L_UINT uTextDifThreshold; 
   L_UINT uTextQFactor; 
   L_UINT uXResolution; 
   L_UINT uYResolution; 
   L_UINT uFlags; 
}FILEJBIG2OPTIONS,* pFILEJBIG2OPTIONS; 

The FILEJBIG2OPTIONS structure provides information for saving JBIG2 files.

Member Description
uStructSize Size of this structure in bytes, for versioning. Use the sizeof() macro to calculate this value.
ucImageTemplateType Value that specifies which template-based arithmetic encoder to use when encoding a non-text area. Possible values are:
  Value Meaning Template
  0 Three lines with a 16-pixel template. image\Template0.gif
  1 Three lines with a 13-pixel template. image\Template1.gif
  2 Three lines with a 10-pixel template. image\Template2.gif
  3 Two lines with a 10-pixel template. image\Template3.gif
ImageGBATX1 The X location of the adaptive template pixel A1 for a non-text area encoding. Possible values range from -128 to 127 except when the value of the member ImageGBATY1 is zero, in which case it ranges from 128 to 1.
ImageGBATY1 The Y location of the adaptive template pixel A1 for a non-text area encoding. Possible values range from -128 to 0.
ImageGBATX2 The X location of the adaptive template pixel A2 for a non-text area encoding. Possible values range from -128 to 127, except when the value of the member ImageGBATY2 is zero, in which case it ranges from 128 to 1.
ImageGBATY2 The Y location of the adaptive template pixel A2 for a non-text area encoding. Possible values range from -128 to 0.
ImageGBATX3 The X location of the adaptive template pixel A3 for a non-text area encoding. Possible values range from -128 to 127, except when the values of the member ImageGBATY3 is zero, in which case it ranges from 128 to -1.
ImageGBATY3 The Y location of the adaptive template pixel A3 for a non-text area encoding. Possible values range from -128 to 0.
ImageGBATX4 The X location of the adaptive template pixel A4 for a non-text area encoding. Possible values range from -128 to 127, except when the value of the member ImageGBATY4 is zero, in which case it ranges from 128 to -1.
ImageGBATY4 The Y location of the adaptive template pixel A4 for a non-text area encoding. Possible values range from -128 to 0.
uImageQFactor Value that represents the degree of loss in the compression process for a non-text area. The value of 0 means lossless while any other value means lossy.

0 is the default value.

 

uImageFlags Flag that indicates whether to use typical prediction (TP) when encoding a non-text area. Possible values are:
  Value Meaning
  JBIG2_IMAGE_TPON [0x0010] Use typical prediction (TP).

 

ucTextTemplateType Value that specifies which template-based arithmetic encoder to use when encoding a text area. Possible values are:
  Value Meaning Template
  0 Three lines with a 16-pixel template. image\Template0.gif
  1 Three lines with a 13-pixel template. image\Template1.gif
  2 Three lines with a 10-pixel template. image\Template2.gif
  3 Two lines with a 10-pixel template. image\Template3.gif
TextGBATX1 The X location of the adaptive template pixel A1 for a text area encoding. Possible values range from -128 to 127 except when the value of the member TextGBATY1 is zero, in which case it ranges from 128 to 1.
TextGBATY1 The Y location of the adaptive template pixel A1 for a text area encoding. Possible values range from -128 to 0.
TextGBATX2 The X location of the adaptive template pixel A2 for a text area encoding. Possible values range from -128 to 127, except when the value of the member TextGBATY2 is zero, in which case it ranges from 128 to 1.
TextGBATY2 The Y location of the adaptive template pixel A2 for a text area encoding. Possible values range from -128 to 0.
TextGBATX3 The X location of the adaptive template pixel A3 for a text area encoding. Possible values range from -128 to 127 except when the value of the member TextGBATY3 is zero, in which case it ranges from 128 to -1.
TextGBATY3 The Y location of the adaptive template pixel A3 for a text area encoding. Possible values range from -128 to 0.
TextGBATX4 The X location of the adaptive template pixel A4 for a text area encoding. Possible values range from -128 to 127 except when the value of the member TextGBATY4 is zero, in which case it ranges from 128 to -1.
TextGBATY4 The Y location of the adaptive template pixel A4 for a text area encoding. Possible values range from -128 to 0.
uTextMinSymArea Value that represents the minimum text symbol area, in pixels.
uTextMinSymWidth Value that represents the minimum text symbol width, in pixels.
uTextMinSymHeight Value that represents the minimum text symbol height, in pixels.
uTextMaxSymArea Value that represents the maximum text symbol area, in pixels.
uTextMaxSymWidth Value that represents the maximum text symbol width, in pixels.
uTextMaxSymHeight Value that represents the maximum text symbol height, in pixels.
uTextDifThreshold Value that represents the maximum difference allowed to map a text symbol to a dictionary symbol, in percent.
uTextQFactor Value that represents the degree of the loss in the compression process for a text area. The value of 0 means lossless while any other value means lossy.

0 is the default value.

 

uTextFlags Flag that indicates whether to keep all dictionary symbols or remove unrepeated symbols from the dictionary. Possible values are:
  Value Meaning
  JBIG2_TEXT_REMOVEUNREPEATEDSYM [0x1000] Remove unrepeated symbols from the dictionary. When this flag is used those symbols in the dictionary which do not have any match in the bitmap are removed from the text dictionary to be encoded as non-text, resulting in a smaller file size.
  JBIG2_TEXT_KEEPALLSYM [0x2000] Keep all dictionary symbols.
uXResolution The bitmap X resolution to be used when setting JBIG2 options.
uYResolution The bitmap Y resolution to be used when setting JBIG2 options.
uFlags Flags that indicate whether to remove unwanted JBIG2 segments and whether to use the dictionary for text symbols. You can use a bit-wise OR (|) to specify more than one flag. Possible values are:
  Value Meaning
  Removing the unwanted JBIG2 segments:
  JBIG2_REMOVE_MARKER [0x0001] Remove the two bytes marker from the generic region segment data.
  JBIG2_REMOVE_HEADER_SEGMENT [0x0002] Remove the JBIG2 header.
  JBIG2_REMOVE_EOP_SEGMENT [0x0004] Remove the End Of Page segment.
  JBIG2_REMOVE_EOF_SEGMENT [0x0008] Remove the End Of File segment.
  Using dictionary for text symbols:
  JBIG2_ENABLE_DICTIONARY [0x0100] Enable the encoder to use the text symbol dictionary.

Comments

pFILEJBIG2OPTIONS is a pointer to a FILEJBIG2OPTIONS structure. Where the function parameter type is pFILEJBIG2OPTIONS, declare a FILEJBIG2OPTIONS variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pFILEJBIG2OPTIONS variable is necessary only if the program requires a pointer.

The following functions make use of this structure:

LFileSettings::GetJBIG2Options

LFileSettings::SetJBIG2Options

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Raster Imaging C++ Class Library Help