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 Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document