IMcRegionAccessGetLine Method
|
|
Read an entire row of an image.
Namespace:
MediaCy.IQL.Engine
Assembly:
MediaCy.IQL.Engine (in MediaCy.IQL.Engine.dll) Version: 10.0.6912.0
SyntaxFunction GetLine (
<OutAttribute> ByRef pvLine As Object,
y As Integer
) As Integer
Parameters
- pvLine
- Type: SystemObject
VARIANT* : A pointer to a VARIANT receiving the pixel values.
If the VARIANT is empty, the function will return one containing a
one-dimensional SAFEARRAY (for one channel per pixel) or a two-dimensional
SAFEARRAY (for multiple channels per pixel). If a 1-D array is created, it will
be shaped as vLine(0 to lWidth-1) for VB arrays and as vLine[lWidth] for
C/C++/Java arrays. If a 2-D array is created, it will be shaped as vLine(0 to
nChannels-1, 0 to lWidth-1) for VB arrays and as vLine[lWidth][nChannels] for
C/C++/Java arrays.
The total number of values contained in the SAFEARRAY is equal to the width of
the McRegionAccess times the number of channels in the McRegionAccess. For color
McRegionAccess red, green, and blue values are interlaced. The type of values in
the SAFEARRAY and the number of channels returned is determined by the type and
channel arguments of the call to IMcImage.CreateRegionAccess. - y
- Type: SystemInt32
long : The 0-based line number. Line 0 is the top line of the
McRegionAccess.
Return Value
Type:
Int32long - the number of values contained in pvLine. Should be
equal to McRegionAccess' width * number of channels
RemarksThe y coordinate is relative to the McRegionAccess ROI, not
the image. The pixel values returned are in the requested color model, which
may differ from the image's native color model.
This is the preferred method for accessing an image.
When the routine itself creates the array it is typed after the image type,
which guarantees that the pixel values will fit into the array. If pvLine already
contains an array it must be of the right data type and size.
For languages that do not support the unsigned integer type (like Visual Basic
or VBA), 16 bits values bigger than 32767 will be reported as negative because
their sign bit is set. The best way to work around this limitation is to use a
"long" McRegionAccess, which will then return long positive values (4 bytes)
instead of unsigned integers (2 bytes).
If this McRegionAccess instance is created with the McImage.CreateRegionAccessEx
with the mcRegionAccessMode.mcramUnsignedGetFlag set in the AccessMode
parameter, then the default return type for 12, 16 and 32 bit integral
pixel types will be an unsigned integral type; if this flag is not set, then
these types are signed for back-compatibility with VB6 as discussed above.
See Also