You are here: Start » Function Reference » All Functions » Image Drawing » DrawRectangles_MultiColor
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 rectangles on an image with multiple colors.
Syntax
void fis::DrawRectangles_MultiColor ( const fil::Image& inImage, ftl::Conditional<const ftl::Array<ftl::Conditional<fil::Rectangle2D>>&> inRectangles, ftl::Optional<const fil::CoordinateSystem2D&> inRectangleAlignment, ftl::Optional<const ftl::Array<ftl::Conditional<fil::Hash>>&> inColorIds, ftl::Optional<const ftl::Array<fil::Pixel>&> inPalette, const fil::DrawingStyle& inDrawingStyle, const bool inForceRgb, fil::Image& outImage )
Parameters
Name | Type | Default | Description | |
---|---|---|---|---|
![]() |
inImage | const Image& | Input image | |
![]() |
inRectangles | Conditional<const Array<Conditional<Rectangle2D>>&> | { } | |
![]() |
inRectangleAlignment | Optional<const CoordinateSystem2D&> | NIL | |
![]() |
inColorIds | Optional<const Array<Conditional<Hash>>&> | NIL | |
![]() |
inPalette | Optional<const Array<Pixel>&> | { Pixel ( X: 200.0f Y: 0.0f Z: 0.0f W: 0.0f ), Pixel ( X: 0.0f Y: 200.0f Z: 0.0f W: 0.0f ) } | |
![]() |
inDrawingStyle | const DrawingStyle& | DrawingStyle ( DrawingMode: HighQuality Opacity: 1.0f Thickness: 1.0f Filled: False PointShape: Nil PointSize: 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
Filter draws rectangles on an input image.
If an rectangle dimensions exceeds image size it will not be drawn or will be drawn partially.
To indicate the Rectangle orientation set inDrawingStyle.PointShape and inDrawingStyle.Size.

Rectangle drawn with set orientation indicator inDrawingStyle.PointShape = Circle and inDrawingStyle.Size = 10.
Hints
- Define inRectangles. This will be the primitives to be drawn.
- Leave inPalette and inColorIds not set to have all the primitives drawn with random colors. Set a custom palette of colors here to decide explicitly how each of the primitives should be drawn using inColorIds.
- Set inForceRgb to True, if you want to get a 3-channel output regardless of what is on the input.
- Set inDrawingStyle to control quality, opacity, thickness, filling, point shapes and sizes.
Examples

Example usage of the DrawRectangles_MultiColor on an empty image.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Empty inPalette while inRectangles has objects to draw in DrawRectangles_MultiColor. |
DomainError | No palette defined with inPalette for specified inColorIds in DrawRectangles_MultiColor. |
DomainError | The sizes inRectangles and inColorIds do not match in DrawRectangles_MultiColor. |
See Also
- DrawLine – Draws a line on an image.
- DrawPath – Draws a path on an image.
- DrawCircle – Draws a circle on an image.
- DrawPoint – Draws a point on an image.