Pro.DIB — API for parsing DIB images

Overview

The Pro.DIB module contains the API for parsing DIB images.

Parsing a BMP image

The following code example demonstrates how to parse bitmap:

from Pro.Core import *
from Pro.DIB import *

def parseBitmap(fname):
    c = createContainerFromFile(fname)
    if c.isNull():
        return
    obj = DIBObject()
    obj.SetDIBFormat(DIBObject.BMPFormat)
    if not obj.Load(c):
        return
    hdr = obj.DIBHeader()
    print("Width:", hdr.Num("Width"), "Height:", hdr.Num("Height"))

Module API

Pro.DIB module API.

Attributes:

DIBCompression_ALPHABITFIELDS

Compression options: this value is valid in Windows CE .NET 4.0 and later.

DIBCompression_BITFIELDS

Compression options: pixel format defined by bit masks or Huffman 1D.

DIBCompression_CMYK

Compression options: no compression with CMYK color space: used for uncompressed CMYK bitmaps.

DIBCompression_CMYKRLE4

Compression options: 4-bit RLE compression with CMYK color space: used for RLE compressed CMYK bitmaps.

DIBCompression_CMYKRLE8

Compression options: 8-bit RLE compression with CMYK color space: used for RLE compressed CMYK bitmaps.

DIBCompression_JPEG

Compression options: the bitmap contains a JPEG image or RLE-24.

DIBCompression_PNG

Compression options: the bitmap contains a PNG image.

DIBCompression_RGB

Compression options: most common.

DIBCompression_RLE4

Compression options: can be used only with 4-bit/pixel bitmaps.

DIBCompression_RLE8

Compression options: can be used only with 8-bit/pixel bitmaps.

Classes:

DIBObject()

This class represents a DIB image.

DIBCompression_ALPHABITFIELDS: Final[int]

Compression options: this value is valid in Windows CE .NET 4.0 and later.

See also DIBObject.DIBHeader().

DIBCompression_BITFIELDS: Final[int]

Compression options: pixel format defined by bit masks or Huffman 1D.

See also DIBObject.DIBHeader().

DIBCompression_CMYK: Final[int]

Compression options: no compression with CMYK color space: used for uncompressed CMYK bitmaps.

See also DIBObject.DIBHeader().

DIBCompression_CMYKRLE4: Final[int]

Compression options: 4-bit RLE compression with CMYK color space: used for RLE compressed CMYK bitmaps.

See also DIBObject.DIBHeader().

DIBCompression_CMYKRLE8: Final[int]

Compression options: 8-bit RLE compression with CMYK color space: used for RLE compressed CMYK bitmaps.

See also DIBObject.DIBHeader().

DIBCompression_JPEG: Final[int]

Compression options: the bitmap contains a JPEG image or RLE-24.

See also DIBObject.DIBHeader().

DIBCompression_PNG: Final[int]

Compression options: the bitmap contains a PNG image.

See also DIBObject.DIBHeader().

DIBCompression_RGB: Final[int]

Compression options: most common.

See also DIBObject.DIBHeader().

DIBCompression_RLE4: Final[int]

Compression options: can be used only with 4-bit/pixel bitmaps.

See also DIBObject.DIBHeader().

DIBCompression_RLE8: Final[int]

Compression options: can be used only with 8-bit/pixel bitmaps.

See also DIBObject.DIBHeader().

class DIBObject

Bases: Pro.Core.CFFObject

This class represents a DIB image.

Attributes:

BMPFormat

BMP image format.

DIBCursorFormat

DIB cursor image format.

DIBFormat

DIB image format.

DIBIconFormat

DIB icon image format.

Methods:

BMPHeader()

Returns the BMP header.

DIBHeader()

Returns the DIB header.

GetANDMaskRange()

Returns the range of the AND mask table if available; otherwise the returned Pro.Core.NTOffsetRange.offset is Pro.Core.INVALID_STREAM_OFFSET.

GetColorTableRange()

Returns the range of the color table if available; otherwise the returned Pro.Core.NTOffsetRange.offset is Pro.Core.INVALID_STREAM_OFFSET.

GetDIBFormat()

Returns the format of the DIB image (e.g., BMPFormat).

GetPixelArrayRange()

Returns the range of the pixel array.

HasANDMask()

Returns True if the image has an AND mask; otherwise returns False.

HasColorTable()

Returns True if the image has a color table; otherwise returns False.

IsBitmap()

Returns True if the DIB image format is a BMP; otherwise returns False.

IsDIBCoreHeader()

Returns True if the DIB header is minimalistic; otherwise returns False.

IsIcon()

Returns True if the DIB image format is either an icon or a cursor; otherwise returns False.

SetDIBFormat(format)

Sets the format of the DIB image.

BMPFormat: Final[int]

BMP image format.

See also GetDIBFormat() and SetDIBFormat().

BMPHeader()Pro.Core.CFFStruct
Returns

Returns the BMP header.

Return type

CFFStruct

See also DIBHeader().

DIBCursorFormat: Final[int]

DIB cursor image format.

See also GetDIBFormat() and SetDIBFormat().

DIBFormat: Final[int]

DIB image format.

See also GetDIBFormat() and SetDIBFormat().

DIBHeader()Pro.Core.CFFStruct
Returns

Returns the DIB header.

Return type

CFFStruct

DIBIconFormat: Final[int]

DIB icon image format.

See also GetDIBFormat() and SetDIBFormat().

GetANDMaskRange()Pro.Core.NTOffsetRange
Returns

Returns the range of the AND mask table if available; otherwise the returned Pro.Core.NTOffsetRange.offset is Pro.Core.INVALID_STREAM_OFFSET.

Return type

int

See also HasANDMask(), GetPixelArrayRange() and GetColorTableRange().

GetColorTableRange()Pro.Core.NTOffsetRange
Returns

Returns the range of the color table if available; otherwise the returned Pro.Core.NTOffsetRange.offset is Pro.Core.INVALID_STREAM_OFFSET.

Return type

int

See also HasColorTable(), GetPixelArrayRange() and GetANDMaskRange().

GetDIBFormat()int
Returns

Returns the format of the DIB image (e.g., BMPFormat).

Return type

int

See also SetDIBFormat().

GetPixelArrayRange()Pro.Core.NTOffsetRange
Returns

Returns the range of the pixel array.

Return type

int

See also GetColorTableRange() and GetANDMaskRange().

HasANDMask()bool
Returns

Returns True if the image has an AND mask; otherwise returns False.

Return type

bool

See also GetANDMaskRange().

HasColorTable()bool
Returns

Returns True if the image has a color table; otherwise returns False.

Return type

bool

See also GetColorTableRange().

IsBitmap()bool
Returns

Returns True if the DIB image format is a BMP; otherwise returns False.

Return type

bool

See also IsIcon().

IsDIBCoreHeader()bool
Returns

Returns True if the DIB header is minimalistic; otherwise returns False.

Return type

bool

See also DIBHeader().

IsIcon()bool
Returns

Returns True if the DIB image format is either an icon or a cursor; otherwise returns False.

Return type

bool

See also IsBitmap().

SetDIBFormat(format: int)None

Sets the format of the DIB image.

Important

This method must be called before Pro.Core.CFFObject.Load().

Parameters

format (int) – The format of the DIB image (e.g., BMPFormat).

See also GetDIBFormat().