Back to FabImage Library website
You are here: Start » Function Reference » All Functions » Image Drawing » DrawRegions_TwoColors
This is Filter Equivalent. This function may be present in generated code, but should not be used in hand-written code.
Header: | FIL.h |
---|---|
Namespace: | fis |
Module: | FoundationLite |
Draws regions on an image with two colors, depending on the status of each region.
Applications: Usually: green or red for pass/fail status.
Syntax
void fis::DrawRegions_TwoColors ( const fil::Image& inImage, ftl::Conditional<const ftl::Array<ftl::Conditional<fil::Region> > &> inRegions, ftl::Optional<const fil::CoordinateSystem2D&> inRegionAlignment, const fil::Pixel& inColorIfTrue, const fil::Pixel& inColorIfFalse, ftl::Conditional<const ftl::Array<ftl::Conditional<bool>> &> inConditions, const float inOpacity, const bool inForceRgb, fil::Image& outImage )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inImage | const Image& | Input image | ||
![]() |
inRegions | Conditional<const Array<Conditional<Region> > &> | { } | ||
![]() |
inRegionAlignment | Optional<const CoordinateSystem2D&> | NIL | ||
![]() |
inColorIfTrue | const Pixel& | Pixel ( X: 0.0f Y: 200.0f Z: 0.0f W: 0.0f ) | ||
![]() |
inColorIfFalse | const Pixel& | Pixel ( X: 200.0f Y: 0.0f Z: 0.0f W: 0.0f ) | ||
![]() |
inConditions | Conditional<const Array<Conditional<bool>> &> | { } | ||
![]() |
inOpacity | const float | 0.0 - 1.0 | 1.0f | |
![]() |
inForceRgb | const bool | True | Filter will convert monochromatic image to RGB if needed | |
![]() |
outImage | Image& | Output image |
In-place Processing
This function supports in-place data processing - you can pass the same reference to inImage and outImage
Read more about In-place Computation.
Description
The operation draws an array of regions on the inImage using common drawing parameters for all of them.
Regions may exceed the image dimensions - those will be drawn partially or not at all, but the filter execution will succeed.
Hints
- If you want to draw on an empty background, use EmptyImage function before.
- Define inRegions. This will be the primitives to be drawn.
- Define inConditions with the boolean values indicating the class (usually: OK/NOK) for each input primitive.
- Set the inColorIfTrue and inColorIfFalse inputs to define the two colors used for drawing.
- Set inForceRgb to True, if you want to get a 3-channel output regardless of what is on the input.
Examples

Example usage of the DrawRegions_TwoColors on an empty image.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | The sizes inRegions and inConditions do not match in DrawRegions_TwoColors. |
See Also
- DrawBox – Draws a box on an image.
- DrawRectangle – Draws a rectangle on an image.
- DrawCircle – Draws a circle on an image.