Back to Adaptive Vision Library website

You are here: Start » Function Reference » All Functions » Image Drawing » DrawCircles_MultiColor

DrawCircles_MultiColor


This is Filter Equivalent. This function may be present in generated code, but should not be used in hand-written code.

Header: AVL.h
Namespace: avs
Module: FoundationLite

Draws circles on an image with multiple colors.

Syntax

void avs::DrawCircles_MultiColor
(
	const avl::Image& inImage,
	atl::Conditional<const atl::Array<atl::Conditional<avl::Circle2D>>&> inCircles,
	atl::Optional<const avl::CoordinateSystem2D&> inCircleAlignment,
	atl::Optional<const atl::Array<atl::Conditional<avl::Hash>>&> inColorIds,
	atl::Optional<const atl::Array<avl::Pixel>&> inPalette,
	const avl::DrawingStyle& inDrawingStyle,
	const bool inForceRgb,
	avl::Image& outImage
)

Parameters

Name Type Default Description
inImage const Image& Input image
inCircles Conditional<const Array<Conditional<Circle2D>>&> { }
inCircleAlignment 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

The operation draws an array of circles on the inImage using common drawing parameters for all of them. Circles may exceed the image dimensions - those will be drawn partially or not at all, but the filter execution will succeed.

Hints

  • Define inCircles. 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 DrawCircles_MultiColor on an empty image.

Errors

List of possible exceptions:

Error type Description
DomainError Empty inPalette while inCircles has objects to draw in DrawCircles_MultiColor.
DomainError No palette defined with inPalette for specified inColorIds in DrawCircles_MultiColor.
DomainError The sizes inCircles and inColorIds do not match in DrawCircles_MultiColor.

See Also

  • DrawLine – Draws a line on an image.