Fixed Annotations

Summary

Most annotation objects can be "fixed". When an annotation is 'fixed', its size and location do not change when the container zooms or scrolls. To fix an annotation, set the AnnObject.FixedStateOperations property.

The effect of fixing an annotation is that it is frozen on the container. Zooming and scrolling will move the underlying image and non-fixed annotations, but fixed annotations will not move. The annotation can still be moved by selecting and dragging the annotation with mouse or touch input. Fixing an annotation also has an effect on certain aspects of the object's appearance, such as its AnnObject.Font and AnnObject.Stroke.

A fixed annotation object can be desirable in certain situations. For example, if you do not want the thickness of a line object to grow larger or smaller when the container is zoomed in and out, you can set its FixedStateOperations property to AnnFixedStateOperations.StrokeWidth. If you have a ruler object and you do not want the thickness of its line nor the size of its font to change when the container zooms in and out, you set its AnnObject.FixedStateOperations property to AnnFixedStateOperations.FontSize | AnnFixedStateOperations.StrokeWidth.

The default for all objects is AnnFixedStateOperations.None, which means the object is not fixed and will zoom and scroll whenever the container zooms and scrolls.

The following table describes the AnnFixedStateOperations

Member Description
AnnFixedStateOperations.None

The object is not fixed and will scale up and down when the container zooms in and out. This is the default behavior.

AnnFixedStateOperations.Scrolling

The object has a fixed location and will not move as the container is scrolled but will scale up and down when the container zooms in and out.

AnnFixedStateOperations.Zooming

The object has a fixed size and will not scale up and down when the container zooms in and out but will move when the container is scrolled.

AnnFixedStateOperations.FontSize

Use this to prevent the size of any text in the annotation object from changing if the container is zoomed in or out. For example, the AnnPolyRulerObject contains text for the length value. It may be desirable to prevent the text size of the length from changing if the container is zoomed in and out. If you set the font size of this ruler to 9 points and use this member in the AnnObject.FixedStateOperations property, then the font size of the ruler text will always be 9 points regardless of how much the container is zoomed in or out.

AnnFixedStateOperations.StrokeWidth

Use this to prevent the width of the stroke used to draw an annotation object from getting thicker or thinner when the container is zoomed in or out. Setting this property will affect all parts of an annotation object.

By combining AnnFixedStateOperations values when setting the AnnObject.FixedStateOperations property you can create all of the various combinations needed for fixing an annotation object in its container.

Help Version 20.0.2020.4.3
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS HTML5 JavaScript