Back to Aurora Vision Library Lite website

You are here: Start » All Functions » Image Drawing » DrawDimensionLines_MultiColor

DrawDimensionLines_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

Draws dimension lines on an image with multiple colors.

Syntax

void avs::DrawDimensionLines_MultiColor
(
	const avl::Image& inImage,
	atl::Conditional<const atl::Array<atl::Conditional<avl::Segment2D>>&> inSegments,
	atl::Optional<const avl::CoordinateSystem2D&> inSegmentAlignment,
	atl::Optional<const atl::Array<atl::Conditional<avl::Hash>>&> inColorIds,
	atl::Optional<const atl::Array<avl::Pixel>&> inPalette,
	const avl::DrawingStyle& inDrawingStyle,
	float inHeadSize,
	float inScale,
	avl::MetricUnit::Type inMetricUnit,
	const int inFractionalDigitCount,
	float inTextSize,
	const bool inForceRgb,
	avl::Image& outImage
)

Parameters

Name Type Range Default Description
Input value inImage const Image& Input image
Input value inSegments Conditional<const Array<Conditional<Segment2D>>&> { }
Input value inSegmentAlignment Optional<const CoordinateSystem2D&> NIL
Input value inColorIds Optional<const Array<Conditional<Hash>>&> NIL
Input value 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 ) }
Input value inDrawingStyle const DrawingStyle& DrawingStyle ( DrawingMode: HighQuality Opacity: 1.0f Thickness: 1.0f Filled: False PointShape: Nil PointSize: 1.0f )
Input value inHeadSize float 0.0 - 5.0f
Input value inScale float 0.0 - 1.0f px / mm
Input value inMetricUnit MetricUnit::Type Millimetres
Input value inFractionalDigitCount const int 0 - 100 3 How many characters the fractional part of the number should have
Input value inTextSize float 10.0 - 12.0f
Input value inForceRgb const bool True Filter will convert monochromatic image to RGB if needed
Output value 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.

Hints

  • Define inSegments. 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 DrawDimensionLines_MultiColor on an empty image.

Errors

List of possible exceptions:

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