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: Settings The settings for value are:
 | mcoAnyArray | 0 |
to retrieve current array type
|
 | mcoFlatArray | 1 |
simple block of bytes (i.e. legacy Frame Grabbers)
|
 | mcoInverted | 2 |
Flat Array reads bottom to top
|
 | mcoDIBArray | 3 |
DWORD aligned, and inverted
|
 | mcoBMPArray | 4 |
rows are INT aligned (as in Bit Map)
|
 | mcoNewDIBArray | 5 |
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.
|