Description

A property that describes the memory layout of an image.

Property type

A mcOrganization enumeration.  

Syntax

object.Organization [= value]

The Organization Property syntax has these parts:

PartDescription
objectAn expression evaluating to an object of type McImageType.
valueA mcOrganization enumeration, as described in settings.

Settings

The settings for value are:

ConstantValueDescription
 mcoAnyArray0

to retrieve current array type

 mcoFlatArray1

simple block of bytes (i.e. legacy Frame Grabbers)

 mcoInverted2

Flat Array reads bottom to top

 mcoDIBArray3

DWORD aligned, and inverted

 mcoBMPArray4

rows are INT aligned (as in Bit Map)

 mcoNewDIBArray5

new format DIB - DWORD aligned, not inverted

Remarks

There are many formats an image can have, usually depending on it's source and destinations. A Flat Array is the format most used by frame grabbers, temporary intermediate images, and books on imaging. These arrays are simple arrays - the very first elementt contains the pixel at the upper left of the image. The first pixel of every row immediatly follows, in memory, the LAST pixel of the preceding row. A DIB array is a format needed for displaying images in a Microsoft Windows environment. Each row of the image MUST begin on a DWORD boundary - there may be pad bytes between the last pixel of one row and the first pixel of the next row. In addition, the image is vertically inverted - the very first pixel of the array is the first pixel of the LAST row of the image. A reverse DIB array is a relatively new format supported by Microsoft. Each row must begin on a DWORD boundary, however, the image is NOT vertically inverted.

Note that the properties are not verified in context with each other, also there is no interaction -- setting the McImageType object to Monochrome does not set NumberOfChannels to one; the client must explicitlly do it.

Exceptions

E_POINTER implies the argument return pointer is invalid. E_INVALIDARG indicates the client is attempting to set the property to an invalid value.