| Customize Help
| Save Settings

MbufPutColor



Function Map
Synopsis
Put data from a user-supplied array into one or all bands of a data buffer.
Syntax
void MbufPutColor(
MIL_ID DestBufId, //in
MIL_INT64 DataFormat, //in
MIL_INT Band, //in
const void *UserArrayPtr //in
)
Description

This function copies data from a user-supplied array to one or all bands of a specified MIL destination buffer.

Note that this function reference has not been updated for a MIL system added during a MIL update. Refer to the MIL system's release note to see if there is complementary information.
Parameters
This function is not supported on the selected boards.
Parameters
DestBufId

Specifies the identifier of the destination buffer.

If the specified buffer is an image buffer with an associated region of interest (ROI), an error will occur.

DataFormat

Specifies the data format of the user-supplied array. The internal data format of the user-supplied array need not match the data format of the MIL destination buffer (planar); an internal conversion will be performed if necessary. Note, however, if the formats do match, the operation will be much faster.

See the Parameter associations section for possible values that can be specified.

Band

Specifies in which color band to put the data. Set this parameter to one of the following values:

function map For specifying the color band
Click to summarizeValue Description
Click to summarize M_ALL_BANDS

Specifies all color bands (for RGB, HSL, HSV, and YUV buffers).

Click to summarize M_BLUE

Specifies the blue color band (for RGB buffers).

Click to summarize M_GREEN

Specifies the green color band (for RGB buffers).

Click to summarize M_HUE

Specifies the hue band (for HSL and HSV buffers).

Click to summarize M_LUMINANCE

Specifies the luminance band (for HSL buffers).

Click to summarize M_RED

Specifies the red color band (for RGB buffers).

Click to summarize M_SATURATION

Specifies the saturation band (for HSL and HSV and HSV buffers).

Click to summarize M_U

Specifies the U band (for YUV buffers).

Click to summarize M_V

Specifies the V band (for YUV and HSV buffers).

Click to summarize M_Y

Specifies the Y band (for YUV buffers).

Click to summarize 0 <= Value <= 2

Specifies the index of the band to copy.

The relationship between index value and band for RGB, HSL, HSV, and YUV buffers is the following:

0

Corresponds to the red band for RGB buffers, the hue band for HSL and HSV buffers, or the Y band for YUV buffers.

1

Corresponds to the green band for RGB buffers, or the saturation band for HSL and HSV buffers, or the U band for YUV buffers.

2

Corresponds to the blue band for RGB buffers, or the luminance band for HSL buffers, or the V band for YUV and HSV buffers.

(summarize)
UserArrayPtr
Accepts the address of one of the following (see the Parameter associations section for specifics on which is expected):
  • array of the same type as the buffer (DestBufId) [optionally, in C++: a reference to a std::vector of the same type as the buffer]
  • array of type MIL_UINT8 [optionally, in C++: a reference to a constant std::vector<MIL_UINT8> ]

Specifies the address of the user array from which to copy data into the destination buffer. Ensure that user array is large enough to contain the data to be copied to the destination buffer.

See the Parameter associations section for possible values that can be specified.

The table below lists possible values for the DataFormat and UserArrayPtr parameters.

Note that SizeX and SizeY denote the destination buffer's width and height, respectively.

function map For specifying the data format
Click to summarize
DataFormat
Description
UserArrayPtr
Click to summarize M_PACKED +

Copies the bands in an interleaved manner (for example, RGB RGB RGB...). This format is only valid when the Band parameter is set to M_ALL_BANDS.


You must specify a combination value from the following table:
(summarize)
Expand data type infoCollapse data type info UserArrayPtr extra info
Data type info: Data type: array of type MIL_UINT8 [optionally, in C++: a reference to a constant std::vector<MIL_UINT8> ] MORE
Click to summarize M_PLANAR

Copies the bands one after the other (RRR...GGG...BBB...). This format is to be used when copying to all bands (M_ALL_BANDS) of the destination buffer.

(summarize)
Expand data type infoCollapse data type info UserArrayPtr extra info
Data type info: Data type: array of the same type as the buffer (DestBufId) [optionally, in C++: a reference to a std::vector of the same type as the buffer] MORE
Click to summarize M_SINGLE_BAND

Copies to a single band. This format is not valid when the Band parameter is set to M_ALL_BANDS.

(summarize)
Expand data type infoCollapse data type info UserArrayPtr extra info
Data type info: Data type: array of the same type as the buffer (DestBufId) [optionally, in C++: a reference to a std::vector of the same type as the buffer] MORE
Combination values for M_PACKED.

You must add one of the following values to the above-mentioned value to set the packed data format.

For more information on these formats, see the RGB buffers section of Chapter 21: Data buffers.

function map For setting the packed data format
Click to summarizeDataFormat Description
UserArrayPtr
Click to summarize M_BGR24

Stores the data in a BGR24 packed format. In this format, each pixel is internally stored as three consecutive bytes.

(summarize)
Expand data type infoCollapse data type info UserArrayPtr extra info
Data type info: Data type: array of type MIL_UINT8 [optionally, in C++: a reference to a constant std::vector<MIL_UINT8> ] MORE
Click to summarize M_BGR32

Stores the data in a BGR32 packed format. In this format, each pixel is internally stored as four consecutive bytes. Every fourth byte is a "don't care" byte.

(summarize)
Expand data type infoCollapse data type info UserArrayPtr extra info
Data type info: Data type: array of type MIL_UINT8 [optionally, in C++: a reference to a constant std::vector<MIL_UINT8> ] MORE
Click to summarize M_RGB15

Stores the data in a RGB15 packed format. In this format, each pixel is internally stored as a 16-bit word with a 5-bit blue value (least significant), a 5-bit green value, a 5-bit red value, and a "don't care" bit (most significant), in little-endian order (RGB 5:5:5).

(summarize)
Expand data type infoCollapse data type info UserArrayPtr extra info
Data type info: Data type: array of type MIL_UINT8 [optionally, in C++: a reference to a constant std::vector<MIL_UINT8> ] MORE
Click to summarize M_RGB16

Stores the data in a RGB16 packed format. In this format, each pixel is internally stored as a 16-bit word with a 5-bit blue value (least significant), a 6-bit green value, and a 5-bit red value (most significant), in little-endian order (RGB 5:6:5).

(summarize)
Expand data type infoCollapse data type info UserArrayPtr extra info
Data type info: Data type: array of type MIL_UINT8 [optionally, in C++: a reference to a constant std::vector<MIL_UINT8> ] MORE
Click to summarize M_RGB24

Stores the data in a RGB24 packed format. In this format, each pixel is internally stored as three consecutive bytes.

(summarize)
Expand data type infoCollapse data type info UserArrayPtr extra info
Data type info: Data type: array of type MIL_UINT8 [optionally, in C++: a reference to a constant std::vector<MIL_UINT8> ] MORE
Compilation information
Header Include mil.h.
Library Use mil.lib.
DLL Requires mil.dll.
NONE ALL BANDS BLUE GREEN HUE LUMINANCE RED SATURATION U V Y PACKED PLANAR SINGLE BAND BGR24 BGR32 RGB15 RGB16 RGB24 ALL BANDS ALL BANDS