Skip to main content

MbufClearCond

Conditionally clears a buffer to a specified color.

Syntax

void MbufClearCond(
AIL_ID DstBufId, //out
AIL_DOUBLE RedOrMonoVal, //in
AIL_DOUBLE GreenVal, //in
AIL_DOUBLE BlueVal, //in
AIL_ID CondBufId, //in
AIL_INT64 Condition, //in
AIL_DOUBLE CondValue //in
)

Description

This function clears a buffer to the specified color (the clear color), modifying only those entries of the buffer which have a corresponding entry in the condition buffer that satisfies the specified condition. Other entries are unchanged.

The clear color is specified by RedOrMonoVal, GreenVal, and BlueVal. If the buffer is one-band, only RedOrMonoVal is used. The clear color is treated as if it had the same type and depth as the buffer.

Note: Note that if a 1-band condition buffer is used with a 3-band buffer, the one band of the condition buffer will be used for each band in the buffer to clear.

For an image buffer, the clear can be limited to a region of interest (ROI) set using MbufSetRegion.

Parameters

DstBufId (out, AIL_ID)

Specifies the identifier of the data buffer to conditionally clear. The data buffer must be a 1- or 3-band image, array, or LUT buffer, or 1-band kernel or structuring element buffer. If you specify an image buffer, it can have an ROI set using MbufSetRegion. The ROI must be defined in raster format (M_RASTER or M_VECTOR_AND_RASTER). An error is generated if the ROI is only in vector format (M_VECTOR).

RedOrMonoVal (in, AIL_DOUBLE)

Specifies the red band of the clear color, or, if DstBufId is a single band, this value is used as the clear color.

For specifying the red or mono band

ValueDescription
ValueSpecifies the red band of the clear color, or the entire clear color.

GreenVal (in, AIL_DOUBLE)

Specifies the green band of the clear color.

For specifying the green band

ValueDescription
M_NULLSpecifies that DstBufId is a single band, and that this parameter is ignored.
ValueSpecifies the green band of the clear color.

BlueVal (in, AIL_DOUBLE)

Specifies the blue band of the clear color.

For specifying the blue band

ValueDescription
M_NULLSpecifies that DstBufId is a single band, and that this parameter is ignored.
ValueSpecifies the blue band of the clear color.

CondBufId (in, AIL_ID)

Specifies the identifier of the condition buffer. The condition buffer must be a 1- or 3-band image, array, or LUT buffer, or 1-band kernel or structuring element buffer. If you specify an image buffer, it can have a region of interest (ROI) associated with it, but it must be a raster region. Using an image buffer with an other type of ROI will cause an error.

Condition (in, AIL_INT64)

Specifies the condition for which the condition buffer is tested. This parameter can be set to one of the following:

For specifying the condition for which the buffer is tested

ValueDescription
M_DEFAULTModify destination buffer entries corresponding to condition buffer entries that are non-zero.
M_EQUALModify destination buffer entries corresponding to condition buffer entries that are equal to CondValue.
M_NOT_EQUALModify destination buffer entries corresponding to condition buffer entries that are not equal to CondValue.

CondValue (in, AIL_DOUBLE)

Specifies the color value for the specified condition. Even though this value is of type AIL_DOUBLE, it is treated as if it had the same type and depth as the condition buffer. If the Condition parameter is set to M_DEFAULT, CondValue is ignored.

For specifying a color value

ValueDescription
M_RGB888Specifies an RGB value. This is only available when CondBufId is a 3-band buffer, and both DstBufId and CondBufId are 8-bit buffers.

This allows you to compare each band of the condition buffer against a different value. | | M_COLOR_BLACK | Specifies the color black. | | M_COLOR_BLUE | Specifies the color blue. | | M_COLOR_BRIGHT_GRAY | Specifies the color bright gray. | | M_COLOR_CYAN | Specifies the color cyan. | | M_COLOR_DARK_BLUE | Specifies the color dark blue. | | M_COLOR_DARK_CYAN | Specifies the color dark cyan. | | M_COLOR_DARK_GREEN | Specifies the color dark green. | | M_COLOR_DARK_MAGENTA | Specifies the color dark magenta. | | M_COLOR_DARK_RED | Specifies the color dark red. | | M_COLOR_DARK_YELLOW | Specifies the color dark yellow. | | M_COLOR_GRAY | Specifies the color gray. | | M_COLOR_GREEN | Specifies the color green. | | M_COLOR_LIGHT_BLUE | Specifies the color light blue. | | M_COLOR_LIGHT_GRAY | Specifies the color light gray. | | M_COLOR_LIGHT_GREEN | Specifies the color light green. | | M_COLOR_LIGHT_WHITE | Specifies the color light white. | | M_COLOR_MAGENTA | Specifies the color magenta. | | M_COLOR_RED | Specifies the color red. | | M_COLOR_WHITE | Specifies the color white. | | M_COLOR_YELLOW | Specifies the color yellow. |

For specifying a grayscale value to be used with all bands

ValueDescription
ValueSpecifies an entry value.

If the condition buffer is binary, this value must be set to 0 or 1.

If the condition buffer is 3-band, this value will be used for each band individually. |

Copyright © 2026 Zebra Technologies.