Foxit PDF SDK
FoxitPDFSDKPython3.Bitmap Class Reference
Inheritance diagram for FoxitPDFSDKPython3.Bitmap:
FoxitPDFSDKPython3.Base

Public Member Functions

def Bitmap (width, height, format, buffer, pitch)
 Constructor, with parameters. More...
 
def CalculateBBoxByColor (backgroud_color)
 Calculate the bounding box according to the given background color. More...
 
def Clone (clip_rect)
 Clone current bitmap, with specified clip rectangle. More...
 
def ConvertFormat (format, icc_transform)
 Convert a bitmap to another specified DIB format. More...
 
def DetectBBoxByColorDiffer (detection_size, color_differ)
 Detect the bounding box of content according to the given color difference between content and margin. More...
 
def FillRect (color, rect)
 Fill current bitmap with a specified color. More...
 
def Flip (is_flip_horz, is_flip_vert)
 Flip bitmap. More...
 
def GetBpp ()
 Get bitmap bits-per-pixel. More...
 
def GetBuffer ()
 Get bitmap buffer. More...
 
def GetFormat ()
 Get bitmap format. More...
 
def GetHeight ()
 Get bitmap height. More...
 
def GetMask (clip_rect)
 Get the mask if bitmap has mask. More...
 
def GetPitch ()
 Get bitmap pitch. More...
 
def GetWidth ()
 Get bitmap width. More...
 
def IsEmpty ()
 Check whether current object is empty or not. More...
 
def StretchTo (dest_width, dest_height, flag, clip_rect)
 Stretch with different size. More...
 
def SwapXY (is_flip_horz, is_flip_vert, clip_rect)
 Swap X,Y coordinations of the bitmap. After being swapped, the image can also be flipped at the same time. More...
 
def TransformTo (matrix, flag, out_left, out_top, clip_rect)
 Transform current bitmap (as source bitmap) into destination one. More...
 

Static Public Attributes

 e_Bicubic = _fsdk.Bitmap_e_Bicubic
 If set, do bicubic interpolation for stretching or transforming.
 
 e_DIB1bpp = _fsdk.Bitmap_e_DIB1bpp
 DIB format: 1bpp format, two color RGB bitmap.It does not support format conversion and rendering.
 
 e_DIB8bpp = _fsdk.Bitmap_e_DIB8bpp
 DIB format: 8bpp format, 256 color RGB bitmap.
 
 e_DIB8bppGray = _fsdk.Bitmap_e_DIB8bppGray
 DIB format: 8bpp format, 256 color GrayScale bitmap.
 
 e_DIB8bppMask = _fsdk.Bitmap_e_DIB8bppMask
 DIB format: 8bpp alpha mask.
 
 e_DIBAbgr = _fsdk.Bitmap_e_DIBAbgr
 DIB format: 32bpp format, with bits order "Red, Green, Blue, Alpha". Red is in the lowest order.
 
 e_DIBArgb = _fsdk.Bitmap_e_DIBArgb
 DIB format: 32bpp format, with bits order "Blue, Green, Red, Alpha". Blue is in the lowest order.
 
 e_DIBCmyk = _fsdk.Bitmap_e_DIBCmyk
 DIB format: 32bpp CMYK format, with bits order "Cyan, Magenta, Yellow, Black". Cyan is in the lowest order.
 
 e_DIBInvalid = _fsdk.Bitmap_e_DIBInvalid
 Invalid DIB format.
 
 e_DIBRgb = _fsdk.Bitmap_e_DIBRgb
 DIB format: 24bpp format, with bits order "Blue, Green, Red". Blue is in the lowest order.
 
 e_DIBRgb32 = _fsdk.Bitmap_e_DIBRgb32
 DIB format: 32bpp format, with bits order "Blue, Green, Red, not used". Blue is in the lowest order.
 
 e_DIBRgb565 = _fsdk.Bitmap_e_DIBRgb565
 16bpp format, bits order: Red 5 bits, Green 6 bits, Blue 5 bits. Red is the lowest order.
 
 e_Downsample = _fsdk.Bitmap_e_Downsample
 If set, do not do halftone for shrinking or rotating.
 
 e_Quadratic = _fsdk.Bitmap_e_Quadratic
 If set, do interpolation for stretching or transforming.
 

Detailed Description

Bitmap is one of most important data structures in Foxit PDF SDK. It is commonly used for rendering. This class can construct a new bitmap object (not retrieved from other object) and offer methods to get information or operate the bitmap.

Constructor & Destructor Documentation

◆ Bitmap()

def FoxitPDFSDKPython3.Bitmap.Bitmap (   width,
  height,
  format,
  buffer,
  pitch 
)

Constructor, with parameters.

Constructor, as an empty bitmap object.

Constructor, with another bitmap object.

If parameter buffer is not null, it should be initialized by application; if parameter buffer is null, Foxit PDF SDK will allocate and initialize the pixels buffer internally.
Application is suggested to use the same colors as Foxit PDF SDK uses internally to initialize bitmap's pixel buffer:

  • For the bitmap without alpha channel, initialize the pixels buffer with 0xFFFFFFFF.

  • For the bitmap with alpha channel, initialize the pixels buffer with 0x00000000.

Parameters
[in]widthWidth of bitmap, in pixels. This should be above 0.
[in]heightHeight of bitmap, in pixels. This should be above 0.
[in]formatBitmap format type. Please refer to values starting from FoxitPDFSDKPython3.Bitmap.e_DIBRgb and this should be one of these values except FoxitPDFSDKPython3.Bitmap.e_DIBInvalid .
[in]bufferA buffer that specifies bitmap data.
If it is not null, this function will use the parameter buffer to initialize a bitmap. In this case, please do not free the parameter buffer before the life-cycle of parameter bitmap ends.
If it is null, a new bitmap buffer will be created internally.
[in]pitchThe number of bytes for each scan line. This is useful only when parameter buffer is not null. If this value is 0, 4-byte alignment is assumed.
[in]otherAnother bitmap object.

Member Function Documentation

◆ CalculateBBoxByColor()

def FoxitPDFSDKPython3.Bitmap.CalculateBBoxByColor (   backgroud_color)

Calculate the bounding box according to the given background color.

This function can support the following formats:
FoxitPDFSDKPython3.Bitmap.e_DIB8bppMask , FoxitPDFSDKPython3.Bitmap.e_DIB8bpp , FoxitPDFSDKPython3.Bitmap.e_DIBRgb , FoxitPDFSDKPython3.Bitmap.e_DIBRgb32 , FoxitPDFSDKPython3.Bitmap.e_DIBArgb .

Parameters
[in]backgroud_colorA valid background color. Format: 0xAARRGGBB.
Returns
The rectangle of bounding box for content.

◆ Clone()

def FoxitPDFSDKPython3.Bitmap.Clone (   clip_rect)

Clone current bitmap, with specified clip rectangle.

Parameters
[in]clip_rectThe clipping region in current bitmap to specify the region to be cloned.
  • For bitmap format FoxitPDFSDKPython3.Bitmap.e_DIBRgb565 , currently only support to clone the whole bitmap, so this should always be null.

  • For rest format, this can be either null or valid. If this is null, that means to clone the whole bitmap. If this is not null, it specifies a clipping region in bitmap to be cloned and the cloned bitmap will have the same size as the clipping region.

Returns
A new bitmap as cloned result.

◆ ConvertFormat()

def FoxitPDFSDKPython3.Bitmap.ConvertFormat (   format,
  icc_transform 
)

Convert a bitmap to another specified DIB format.

Parameters
[in]formatNew bitmap format type. It should be one of following values:
FoxitPDFSDKPython3.Bitmap.e_DIB8bppMask , FoxitPDFSDKPython3.Bitmap.e_DIB8bpp , FoxitPDFSDKPython3.Bitmap.e_DIBRgb , FoxitPDFSDKPython3.Bitmap.e_DIBRgb32 , FoxitPDFSDKPython3.Bitmap.e_DIBArgb . FoxitPDFSDKPython3.Bitmap.e_DIBRgb565 .
[in]icc_transformThe color mapping context for source format to destination format. It can be null, which means not use the color mapping.
Returns
The converted bitmap.

◆ DetectBBoxByColorDiffer()

def FoxitPDFSDKPython3.Bitmap.DetectBBoxByColorDiffer (   detection_size,
  color_differ 
)

Detect the bounding box of content according to the given color difference between content and margin.

This function can support the following formats:
FoxitPDFSDKPython3.Bitmap.e_DIB8bppMask , FoxitPDFSDKPython3.Bitmap.e_DIB8bpp , FoxitPDFSDKPython3.Bitmap.e_DIBRgb , FoxitPDFSDKPython3.Bitmap.e_DIBRgb32 , FoxitPDFSDKPython3.Bitmap.e_DIBArgb .

Parameters
[in]detection_sizeDetection size to analyze background.
[in]color_differColor difference used to detect margin. The value should be between 0 and 255, and the suggested value is 64.
Returns
The rectangle of bounding box for content.

◆ FillRect()

def FoxitPDFSDKPython3.Bitmap.FillRect (   color,
  rect 
)

Fill current bitmap with a specified color.

This function can not support the following format:
FoxitPDFSDKPython3.Bitmap.e_DIBCmyk .

Parameters
[in]colorA color value which is used to fill bitmap. Format: 0xAARRGGBB
[in]rectA rectangle that represents a region in bitmap to specify where the color will be filled. This can be null, which means to fill the whole bitmap.
Returns
None.

◆ Flip()

def FoxitPDFSDKPython3.Bitmap.Flip (   is_flip_horz,
  is_flip_vert 
)

Flip bitmap.

This function can support following formats:
FoxitPDFSDKPython3.Bitmap.e_DIB8bppMask , FoxitPDFSDKPython3.Bitmap.e_DIB8bpp , FoxitPDFSDKPython3.Bitmap.e_DIBRgb , FoxitPDFSDKPython3.Bitmap.e_DIBRgb32 , FoxitPDFSDKPython3.Bitmap.e_DIBArgb .

Parameters
[in]is_flip_horzA boolean value to indicate whether to flip bitmap in horizontal direction: true means a bitmap will be flipped in horizontal direction, and false means not.
[in]is_flip_vertA boolean value to indicate whether to flip bitmap in vertical direction. true means a bitmap will be flipped in vertical direction, and false means not.
Returns
A new bitmap as flipped result.

◆ GetBpp()

def FoxitPDFSDKPython3.Bitmap.GetBpp ( )

Get bitmap bits-per-pixel.

Returns
Bitmap bits-per-pixel value.

◆ GetBuffer()

def FoxitPDFSDKPython3.Bitmap.GetBuffer ( )

Get bitmap buffer.

Bitmap data are organized in scan-lines, from top to down.

Returns
Bitmap buffer.

◆ GetFormat()

def FoxitPDFSDKPython3.Bitmap.GetFormat ( )

Get bitmap format.

Returns
Format value. Please refer to values starting from FoxitPDFSDKPython3.Bitmap.e_DIBInvalid and this would be one of these values.

◆ GetHeight()

def FoxitPDFSDKPython3.Bitmap.GetHeight ( )

Get bitmap height.

Returns
Bitmap height.

◆ GetMask()

def FoxitPDFSDKPython3.Bitmap.GetMask (   clip_rect)

Get the mask if bitmap has mask.

Parameters
[in]clip_rectThe clipping region of current bitmap (as source bitmap). It can be null.
Returns
A new bitmap as mask bitmap. If the return value of function FoxitPDFSDKPython3.Bitmap.IsEmpty for the returned bitmap object is true, that means current bitmap does not have mask.

◆ GetPitch()

def FoxitPDFSDKPython3.Bitmap.GetPitch ( )

Get bitmap pitch.

Returns
Bitmap pitch.

◆ GetWidth()

def FoxitPDFSDKPython3.Bitmap.GetWidth ( )

Get bitmap width.

Returns
Bitmap width.

◆ IsEmpty()

def FoxitPDFSDKPython3.Bitmap.IsEmpty ( )

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ StretchTo()

def FoxitPDFSDKPython3.Bitmap.StretchTo (   dest_width,
  dest_height,
  flag,
  clip_rect 
)

Stretch with different size.

If parameter dest_width or parameter dest_height is negative, the bitmap will be flipped. If the stretching is to be done in down-sample mode, that would be much faster than not to be done in down-sample mode, especially when stretching big bitmaps into small ones. Optionally a clipping region in result bitmap coordinate can be specified to limit the size of result bitmap. This function can not support the following format:
FoxitPDFSDKPython3.Bitmap.e_DIBCmyk .

Parameters
[in]dest_widthThe width of the destination bitmap.
[in]dest_heightThe height of the destination bitmap.
[in]flagStretch flag, It should be value FoxitPDFSDKPython3.Bitmap.e_Downsample or FoxitPDFSDKPython3.Bitmap.e_Quadratic .
[in]clip_rectThe clipping region of destination bitmap. It can be null.
Returns
A new bitmap as stretched result.

◆ SwapXY()

def FoxitPDFSDKPython3.Bitmap.SwapXY (   is_flip_horz,
  is_flip_vert,
  clip_rect 
)

Swap X,Y coordinations of the bitmap. After being swapped, the image can also be flipped at the same time.

This function can support following formats:
FoxitPDFSDKPython3.Bitmap.e_DIB8bppMask , FoxitPDFSDKPython3.Bitmap.e_DIB8bpp , FoxitPDFSDKPython3.Bitmap.e_DIBRgb , FoxitPDFSDKPython3.Bitmap.e_DIBRgb32 , FoxitPDFSDKPython3.Bitmap.e_DIBArgb . Optionally a clipping region (in destination bitmap coordinate) can be specified to limit the size of result.
Suppose the original image has the following 4 pixels:

         +---+---+
         | 1 | 2 |
         +---+---+
         | 3 | 4 |
         +---+---+
         

Then, depends on parameter is_flip_horz and is_flip_vert, the result would look like: if parameter is_flip_horz = false, parameter is_flip_vert = false:

         +---+---+
         | 1 | 3 |
         +---+---+
         | 2 | 4 |
         +---+---+
         

if parameter is_flip_horz = true, parameter is_flip_vert = false:

         +---+---+
         | 3 | 1 |
         +---+---+
         | 4 | 2 |
         +---+---+
         

if parameter is_flip_horz = false, parameter is_flip_vert = true:

         +---+---+
         | 2 | 4 |
         +---+---+
         | 1 | 3 |
         +---+---+
         

if parameter is_flip_horz = true, parameter is_flip_vert = true:

         +---+---+
         | 4 | 2 |
         +---+---+
         | 3 | 1 |
         +---+---+
         
Parameters
[in]is_flip_horzA boolean value to indicate whether to flip bitmap in horizontal direction: true means the bitmap will be flipped in horizontal direction, and false means not.
[in]is_flip_vertA boolean value to indicate whether to flip bitmap in vertical direction: true means the bitmap will be flipped in vertical direction, and false means not.
[in]clip_rectThe clipping region of destination bitmap. This can be null, which means the whole bitmap.
Returns
A new bitmap as swapped result.

◆ TransformTo()

def FoxitPDFSDKPython3.Bitmap.TransformTo (   matrix,
  flag,
  out_left,
  out_top,
  clip_rect 
)

Transform current bitmap (as source bitmap) into destination one.

The dimension of returned bitmap always match the dimension of the matrix. If the transformation is to be done in down- sample mode, that would be much faster than not to be done in down-sample mode, especially when transforming big images into small ones. Optionally a clipping region in result bitmap coordinate can be specified to limit the size of result bitmap. The position of left-top corner (in destination coordinate) of the result bitmap would be returned as well. This function can not support the following format:
FoxitPDFSDKPython3.Bitmap.e_DIBCmyk .

Parameters
[in]matrixThe transformation matrix.
[in]flagTransform flag. It should be value FoxitPDFSDKPython3.Bitmap.e_Downsample or FoxitPDFSDKPython3.Bitmap.e_Quadratic .
[out]out_leftOutput parameter that receives x-coordinate of the left-top corner of the result bitmap in destination coordinate.
[out]out_topOutput parameter that receives y-coordinate of the left-top corner of the result bitmap in destination coordinate.
[in]clip_rectThe clipping region of destination bitmap. It can be null.
Returns
A new bitmap as transformed result.