'Declaration Public Class PolygonAnnotationView Inherits LinesAnnotationView
public class PolygonAnnotationView : LinesAnnotationView
public __gc class PolygonAnnotationView : public LinesAnnotationView*
public ref class PolygonAnnotationView : public LinesAnnotationView^
Вот пример, показывающий, как создать пользовательскую многоугольную аннотацию, которая рисует дополнительный текст в аннотации:
#Region "TextPolygonAnnotationData"
''' <summary>
''' Contains information about the annotation that displays polygon with text.
''' </summary>
''' <remarks>
''' This class shows how to create annotation data and annotation view with custom property.
''' </remarks>
Public Class TextPolygonAnnotationData
Inherits Vintasoft.Imaging.Annotation.PolygonAnnotationData
#Region "Constructors"
''' <summary>
''' Initializes a new instance of the <see cref="TextPolygonAnnotationData"/> class.
''' </summary>
Public Sub New()
MyBase.New()
Text = ""
Font = New Vintasoft.Imaging.Annotation.AnnotationFont("Arial", 20F)
FontBrush = New Vintasoft.Imaging.Annotation.AnnotationSolidBrush(System.Drawing.Color.Black)
End Sub
''' <summary>
''' Initializes a new instance of the <see cref="TextPolygonAnnotationData"/> class.
''' </summary>
''' <param name="info">The SerializationInfo to populate with data.</param>
''' <param name="context">The destination for this serialization.</param>
Public Sub New(info As System.Runtime.Serialization.SerializationInfo, context As System.Runtime.Serialization.StreamingContext)
MyBase.New(info, context)
Text = DirectCast(info.GetValue("Text", GetType(String)), String)
Font = DirectCast(info.GetValue("Font", GetType(Vintasoft.Imaging.Annotation.AnnotationFont)), Vintasoft.Imaging.Annotation.AnnotationFont)
FontBrush = DirectCast(info.GetValue("FontBrush", GetType(Vintasoft.Imaging.Annotation.AnnotationBrushBase)), Vintasoft.Imaging.Annotation.AnnotationBrushBase)
End Sub
''' <summary>
''' Initializes the <see cref="TextPolygonAnnotationData"/> class.
''' </summary>
Shared Sub New()
' register AnnotationView for AnnotationData
Vintasoft.Imaging.Annotation.UI.AnnotationViewFactory.RegisterViewForAnnotationData(GetType(TextPolygonAnnotationData), GetType(TextPolygonAnnotationView))
Vintasoft.Imaging.Annotation.Rendering.AnnotationRendererFactory.RegisterRendererForAnnotationData(GetType(TextPolygonAnnotationData), GetType(TextPolygonAnnotationRenderer))
End Sub
#End Region
#Region "Properties"
Private _text As String
''' <summary>
''' Gets or sets the text of annotation.
''' </summary>
<System.ComponentModel.Description("Text of annotation.")> _
Public Property Text() As String
Get
Return _text
End Get
Set
If _text <> value Then
Dim changingArgs As New Vintasoft.Imaging.ObjectPropertyChangingEventArgs("Text", Text, value)
' if action is not canceled
If OnPropertyChanging(changingArgs) Then
_text = DirectCast(changingArgs.NewValue, String)
OnPropertyChanged(changingArgs.ToChangedEventArgs())
End If
End If
End Set
End Property
Private _font As Vintasoft.Imaging.Annotation.AnnotationFont
''' <summary>
''' Gets or sets the font of annotation.
''' </summary>
<System.ComponentModel.Description("Text font of annotation.")> _
Public Property Font() As Vintasoft.Imaging.Annotation.AnnotationFont
Get
Return _font
End Get
Set
If value Is Nothing Then
Throw New System.ArgumentNullException()
End If
If _font Is Nothing OrElse Not _font.Equals(value) Then
Dim changingArgs As New Vintasoft.Imaging.ObjectPropertyChangingEventArgs("Font", Font, value)
' if action is not canceled
If OnPropertyChanging(changingArgs) Then
_font = DirectCast(changingArgs.NewValue, Vintasoft.Imaging.Annotation.AnnotationFont)
OnPropertyChanged(changingArgs.ToChangedEventArgs())
End If
End If
End Set
End Property
Private _fontBrush As Vintasoft.Imaging.Annotation.AnnotationBrushBase
''' <summary>
''' Gets or sets the font brush of annotation.
''' </summary>
<System.ComponentModel.Description("Font brush of annotation.")> _
Public Property FontBrush() As Vintasoft.Imaging.Annotation.AnnotationBrushBase
Get
Return _fontBrush
End Get
Set
If _fontBrush IsNot value Then
Dim changingArgs As New Vintasoft.Imaging.ObjectPropertyChangingEventArgs("FontBrush", FontBrush, value)
' if action is not canceled
If OnPropertyChanging(changingArgs) Then
_fontBrush = DirectCast(changingArgs.NewValue, Vintasoft.Imaging.Annotation.AnnotationBrushBase)
OnPropertyChanged(changingArgs.ToChangedEventArgs())
End If
End If
End Set
End Property
#End Region
#Region "Methods"
''' <summary>
''' Populates a SerializationInfo with the data needed to serialize the target object.
''' </summary>
''' <param name="info">The SerializationInfo to populate with data.</param>
''' <param name="context">The destination for this serialization.</param>
Public Overrides Sub GetObjectData(info As System.Runtime.Serialization.SerializationInfo, context As System.Runtime.Serialization.StreamingContext)
MyBase.GetObjectData(info, context)
info.AddValue("Text", Text)
info.AddValue("Font", Font)
info.AddValue("FontBrush", FontBrush)
End Sub
''' <summary>
''' Copies the state of the current object to the target object.
''' </summary>
''' <param name="target">Object to copy the state of the current object to.</param>
Public Overrides Sub CopyTo(target As Vintasoft.Imaging.Annotation.AnnotationData)
Dim typedTarget As TextPolygonAnnotationData = DirectCast(target, TextPolygonAnnotationData)
MyBase.CopyTo(typedTarget)
typedTarget.Text = Text
typedTarget.Font = DirectCast(Font.Clone(), Vintasoft.Imaging.Annotation.AnnotationFont)
typedTarget.FontBrush = DirectCast(FontBrush.Clone(), Vintasoft.Imaging.Annotation.AnnotationBrushBase)
End Sub
''' <summary>
''' Creates a new object that is a copy of the current
''' <see cref="TextPolygonAnnotationData" /> instance.
''' </summary>
''' <returns>
''' A new object that is a copy of this
''' <see cref="TextPolygonAnnotationData" /> instance.
''' </returns>
Public Overrides Function Clone() As Object
Dim result As New TextPolygonAnnotationData()
Me.CopyTo(result)
Return result
End Function
#End Region
End Class
#End Region
#Region "TextPolygonAnnotationRenderer"
''' <summary>
''' Determines how to render the <see cref="TextPolygonAnnotationData"/>.
''' </summary>
Public Class TextPolygonAnnotationRenderer
Inherits Vintasoft.Imaging.Annotation.Rendering.PolygonAnnotationRenderer
#Region "Constructors"
''' <summary>
''' Initializes a new instance of the <see cref="TextPolygonAnnotationRenderer"/>.
''' </summary>
''' <param name="annotationData">Object that stores the annotation data.</param>
Public Sub New(annotationData As TextPolygonAnnotationData)
MyBase.New(annotationData)
End Sub
#End Region
#Region "Methods"
''' <summary>
''' Renders the annotation on the <see cref="Vintasoft.Imaging.Drawing.DrawingEngine"/> in the
''' coordinate space of annotation.
''' </summary>
''' <param name="drawingEngine">The <see cref="Vintasoft.Imaging.Drawing.DrawingEngine"/> to render on.</param>
''' <param name="drawingSurface">The object that provides information about drawing surface.</param>
Protected Overrides Sub RenderInContentSpace(drawingEngine As Vintasoft.Imaging.Drawing.DrawingEngine, drawingSurface As Vintasoft.Imaging.DrawingSurface)
MyBase.RenderInContentSpace(drawingEngine, drawingSurface)
Dim data__1 As TextPolygonAnnotationData = DirectCast(Data, TextPolygonAnnotationData)
If data__1.Font Is Nothing OrElse data__1.FontBrush Is Nothing OrElse data__1.Text Is Nothing OrElse data__1.Text = "" Then
Return
End If
' create font brush
Using fontBrush As Vintasoft.Imaging.Drawing.IDrawingBrush = Vintasoft.Imaging.Drawing.DrawingFactoryAnnotationsExtensions.CreateBrush(drawingEngine.DrawingFactory, data__1.FontBrush)
If fontBrush Is Nothing Then
Return
End If
' annotation size
Dim width As Single = data__1.Size.Width
Dim height As Single = data__1.Size.Height
' calculate text rectangle
Dim textRectangle As System.Drawing.RectangleF = GetBoundingBox(data__1.Points)
Using drawingEngine.CreateClipHolder()
Using drawingEngine.CreateTransformHolder()
' set clip
drawingEngine.CombineClip(textRectangle, Vintasoft.Imaging.Drawing.RegionCombineMode.Intersect)
' if annotation is mirrored horizontally
If data__1.HorizontalMirrored Then
' change the world transformation of drawing engine
drawingEngine.MultiplyTransformPrepend(Vintasoft.Imaging.AffineMatrix.CreateScaling(-1, 1))
End If
' if annotation is mirrored vertically
If data__1.VerticalMirrored Then
' change the world transformation of drawing engine
drawingEngine.MultiplyTransformPrepend(Vintasoft.Imaging.AffineMatrix.CreateScaling(1, -1))
End If
' create string format for text
Dim layoutProperties As New Vintasoft.Imaging.Drawing.TextLayoutProperties(Vintasoft.Imaging.AnchorType.Center)
' create font for drawing text
Using drawingFont As Vintasoft.Imaging.Drawing.IDrawingFont = Vintasoft.Imaging.Drawing.DrawingFactoryAnnotationsExtensions.CreateFont(drawingEngine.DrawingFactory, data__1.Font, layoutProperties)
' draw text
drawingEngine.DrawText(data__1.Text, drawingFont, fontBrush, textRectangle, layoutProperties)
End Using
End Using
End Using
End Using
End Sub
''' <summary>
''' Returns the bounding box of specified polygon.
''' </summary>
''' <param name="points">The polygon points.</param>
''' <returns>Bounding box of polygon.</returns>
Private Shared Function GetBoundingBox(points As System.Collections.Generic.IList(Of System.Drawing.PointF)) As System.Drawing.RectangleF
If points.Count = 0 Then
Return System.Drawing.RectangleF.Empty
End If
Dim x1 As Single, x2 As Single, y1 As Single, y2 As Single
x1 = InlineAssignHelper(x2, points(0).X)
y1 = InlineAssignHelper(y2, points(0).Y)
For i As Integer = 1 To points.Count - 1
Dim x As Single = points(i).X
Dim y As Single = points(i).Y
If x1 > x Then
x1 = x
End If
If x2 < x Then
x2 = x
End If
If y1 > y Then
y1 = y
End If
If y2 < y Then
y2 = y
End If
Next
Return New System.Drawing.RectangleF(x1, y1, x2 - x1, y2 - y1)
End Function
Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, value As T) As T
target = value
Return value
End Function
#End Region
End Class
#End Region
#Region "TextPolygonAnnotationView"
''' <summary>
''' Determines how to display the annotation that displays polygon with text.
''' </summary>
Public Class TextPolygonAnnotationView
Inherits Vintasoft.Imaging.Annotation.UI.PolygonAnnotationView
#Region "Constructors"
''' <summary>
''' Initializes a new instance of the <see cref="TextPolygonAnnotationView"/> class.
''' </summary>
''' <param name="annotationData">Object that stores the annotation data.</param>
Public Sub New(annotationData As TextPolygonAnnotationData)
MyBase.New(annotationData)
End Sub
#End Region
#Region "Properties"
''' <summary>
''' Gets or sets the text of the annotation.
''' </summary>
<System.ComponentModel.Description("Text of the annotation.")> _
Public Property Text() As String
Get
Return TextAnnoData.Text
End Get
Set
TextAnnoData.Text = value
End Set
End Property
''' <summary>
''' Gets or sets the <see cref="Font"/> of the annotation.
''' </summary>
<System.ComponentModel.Description("Text font of the annotation.")> _
Public Property Font() As Vintasoft.Imaging.Annotation.AnnotationFont
Get
Return TextAnnoData.Font
End Get
Set
TextAnnoData.Font = value
End Set
End Property
''' <summary>
''' Gets or sets the font brush of the annotation.
''' </summary>
<System.ComponentModel.Description("Font brush of the annotation.")> _
Public Property FontBrush() As Vintasoft.Imaging.Annotation.AnnotationBrushBase
Get
Return TextAnnoData.FontBrush
End Get
Set
TextAnnoData.FontBrush = value
End Set
End Property
''' <summary>
''' Gets typed annotation data value.
''' </summary>
Private ReadOnly Property TextAnnoData() As TextPolygonAnnotationData
Get
Return DirectCast(Data, TextPolygonAnnotationData)
End Get
End Property
#End Region
#Region "Methods"
''' <summary>
''' Creates a new object that is a copy of the current
''' <see cref="Vintasoft.Imaging.Annotation.UI.TextAnnotationView"/> instance.
''' </summary>
''' <returns>A new object that is a copy of this
''' <see cref="Vintasoft.Imaging.Annotation.UI.TextAnnotationView"/> instance.</returns>
Public Overrides Function Clone() As Object
Return New TextPolygonAnnotationView(DirectCast(Data.Clone(), TextPolygonAnnotationData))
End Function
#End Region
End Class
#End Region
#region TextPolygonAnnotationData
/// <summary>
/// Contains information about the annotation that displays polygon with text.
/// </summary>
/// <remarks>
/// This class shows how to create annotation data and annotation view with custom property.
/// </remarks>
public class TextPolygonAnnotationData : Vintasoft.Imaging.Annotation.PolygonAnnotationData
{
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="TextPolygonAnnotationData"/> class.
/// </summary>
public TextPolygonAnnotationData()
: base()
{
Text = "";
Font = new Vintasoft.Imaging.Annotation.AnnotationFont("Arial", 20f);
FontBrush = new Vintasoft.Imaging.Annotation.AnnotationSolidBrush(
System.Drawing.Color.Black);
}
/// <summary>
/// Initializes a new instance of the <see cref="TextPolygonAnnotationData"/> class.
/// </summary>
/// <param name="info">The SerializationInfo to populate with data.</param>
/// <param name="context">The destination for this serialization.</param>
public TextPolygonAnnotationData(System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context)
: base(info, context)
{
Text = (string)info.GetValue("Text", typeof(string));
Font = (Vintasoft.Imaging.Annotation.AnnotationFont)info.GetValue("Font",
typeof(Vintasoft.Imaging.Annotation.AnnotationFont));
FontBrush = (Vintasoft.Imaging.Annotation.AnnotationBrushBase)info.GetValue("FontBrush",
typeof(Vintasoft.Imaging.Annotation.AnnotationBrushBase));
}
/// <summary>
/// Initializes the <see cref="TextPolygonAnnotationData"/> class.
/// </summary>
static TextPolygonAnnotationData()
{
// register AnnotationView for AnnotationData
Vintasoft.Imaging.Annotation.UI.AnnotationViewFactory.RegisterViewForAnnotationData(
typeof(TextPolygonAnnotationData), typeof(TextPolygonAnnotationView));
Vintasoft.Imaging.Annotation.Rendering.AnnotationRendererFactory.RegisterRendererForAnnotationData(
typeof(TextPolygonAnnotationData), typeof(TextPolygonAnnotationRenderer));
}
#endregion
#region Properties
string _text;
/// <summary>
/// Gets or sets the text of annotation.
/// </summary>
[System.ComponentModel.Description("Text of annotation.")]
public string Text
{
get
{
return _text;
}
set
{
if (_text != value)
{
Vintasoft.Imaging.ObjectPropertyChangingEventArgs changingArgs =
new Vintasoft.Imaging.ObjectPropertyChangingEventArgs("Text", Text, value);
// if action is not canceled
if (OnPropertyChanging(changingArgs))
{
_text = (string)changingArgs.NewValue;
OnPropertyChanged(changingArgs.ToChangedEventArgs());
}
}
}
}
Vintasoft.Imaging.Annotation.AnnotationFont _font;
/// <summary>
/// Gets or sets the font of annotation.
/// </summary>
[System.ComponentModel.Description("Text font of annotation.")]
public Vintasoft.Imaging.Annotation.AnnotationFont Font
{
get
{
return _font;
}
set
{
if (value == null)
throw new System.ArgumentNullException();
if (_font == null || !_font.Equals(value))
{
Vintasoft.Imaging.ObjectPropertyChangingEventArgs changingArgs =
new Vintasoft.Imaging.ObjectPropertyChangingEventArgs("Font", Font, value);
// if action is not canceled
if (OnPropertyChanging(changingArgs))
{
_font = (Vintasoft.Imaging.Annotation.AnnotationFont)changingArgs.NewValue;
OnPropertyChanged(changingArgs.ToChangedEventArgs());
}
}
}
}
Vintasoft.Imaging.Annotation.AnnotationBrushBase _fontBrush;
/// <summary>
/// Gets or sets the font brush of annotation.
/// </summary>
[System.ComponentModel.Description("Font brush of annotation.")]
public Vintasoft.Imaging.Annotation.AnnotationBrushBase FontBrush
{
get
{
return _fontBrush;
}
set
{
if (_fontBrush != value)
{
Vintasoft.Imaging.ObjectPropertyChangingEventArgs changingArgs =
new Vintasoft.Imaging.ObjectPropertyChangingEventArgs("FontBrush", FontBrush, value);
// if action is not canceled
if (OnPropertyChanging(changingArgs))
{
_fontBrush = (Vintasoft.Imaging.Annotation.AnnotationBrushBase)changingArgs.NewValue;
OnPropertyChanged(changingArgs.ToChangedEventArgs());
}
}
}
}
#endregion
#region Methods
/// <summary>
/// Populates a SerializationInfo with the data needed to serialize the target object.
/// </summary>
/// <param name="info">The SerializationInfo to populate with data.</param>
/// <param name="context">The destination for this serialization.</param>
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context)
{
base.GetObjectData(info, context);
info.AddValue("Text", Text);
info.AddValue("Font", Font);
info.AddValue("FontBrush", FontBrush);
}
/// <summary>
/// Copies the state of the current object to the target object.
/// </summary>
/// <param name="target">Object to copy the state of the current object to.</param>
public override void CopyTo(Vintasoft.Imaging.Annotation.AnnotationData target)
{
TextPolygonAnnotationData typedTarget = (TextPolygonAnnotationData)target;
base.CopyTo(typedTarget);
typedTarget.Text = Text;
typedTarget.Font = (Vintasoft.Imaging.Annotation.AnnotationFont)Font.Clone();
typedTarget.FontBrush = (Vintasoft.Imaging.Annotation.AnnotationBrushBase)FontBrush.Clone();
}
/// <summary>
/// Creates a new object that is a copy of the current
/// <see cref="TextPolygonAnnotationData" /> instance.
/// </summary>
/// <returns>
/// A new object that is a copy of this
/// <see cref="TextPolygonAnnotationData" /> instance.
/// </returns>
public override object Clone()
{
TextPolygonAnnotationData result = new TextPolygonAnnotationData();
this.CopyTo(result);
return result;
}
#endregion
}
#endregion
#region TextPolygonAnnotationRenderer
/// <summary>
/// Determines how to render the <see cref="TextPolygonAnnotationData"/>.
/// </summary>
public class TextPolygonAnnotationRenderer : Vintasoft.Imaging.Annotation.Rendering.PolygonAnnotationRenderer
{
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="TextPolygonAnnotationRenderer"/>.
/// </summary>
/// <param name="annotationData">Object that stores the annotation data.</param>
public TextPolygonAnnotationRenderer(TextPolygonAnnotationData annotationData)
: base(annotationData)
{
}
#endregion
#region Methods
/// <summary>
/// Renders the annotation on the <see cref="Vintasoft.Imaging.Drawing.DrawingEngine"/> in the
/// coordinate space of annotation.
/// </summary>
/// <param name="drawingEngine">The <see cref="Vintasoft.Imaging.Drawing.DrawingEngine"/> to render on.</param>
/// <param name="drawingSurface">The object that provides information about drawing surface.</param>
protected override void RenderInContentSpace(Vintasoft.Imaging.Drawing.DrawingEngine drawingEngine, Vintasoft.Imaging.DrawingSurface drawingSurface)
{
base.RenderInContentSpace(drawingEngine, drawingSurface);
TextPolygonAnnotationData data = (TextPolygonAnnotationData)Data;
if (data.Font == null || data.FontBrush == null || data.Text == null || data.Text == "")
return;
// create font brush
using (Vintasoft.Imaging.Drawing.IDrawingBrush fontBrush =
Vintasoft.Imaging.Drawing.DrawingFactoryAnnotationsExtensions.CreateBrush(drawingEngine.DrawingFactory, data.FontBrush))
{
if (fontBrush == null)
return;
// annotation size
float width = data.Size.Width;
float height = data.Size.Height;
// calculate text rectangle
System.Drawing.RectangleF textRectangle = GetBoundingBox(data.Points);
using (drawingEngine.CreateClipHolder())
{
using (drawingEngine.CreateTransformHolder())
{
// set clip
drawingEngine.CombineClip(textRectangle, Vintasoft.Imaging.Drawing.RegionCombineMode.Intersect);
// if annotation is mirrored horizontally
if (data.HorizontalMirrored)
// change the world transformation of drawing engine
drawingEngine.MultiplyTransformPrepend(Vintasoft.Imaging.AffineMatrix.CreateScaling(-1, 1));
// if annotation is mirrored vertically
if (data.VerticalMirrored)
// change the world transformation of drawing engine
drawingEngine.MultiplyTransformPrepend(Vintasoft.Imaging.AffineMatrix.CreateScaling(1, -1));
// create string format for text
Vintasoft.Imaging.Drawing.TextLayoutProperties layoutProperties =
new Vintasoft.Imaging.Drawing.TextLayoutProperties(Vintasoft.Imaging.AnchorType.Center);
// create font for drawing text
using (Vintasoft.Imaging.Drawing.IDrawingFont drawingFont =
Vintasoft.Imaging.Drawing.DrawingFactoryAnnotationsExtensions.CreateFont(drawingEngine.DrawingFactory, data.Font, layoutProperties))
{
// draw text
drawingEngine.DrawText(data.Text, drawingFont, fontBrush, textRectangle, layoutProperties);
}
}
}
}
}
/// <summary>
/// Returns the bounding box of specified polygon.
/// </summary>
/// <param name="points">The polygon points.</param>
/// <returns>Bounding box of polygon.</returns>
private static System.Drawing.RectangleF GetBoundingBox(
System.Collections.Generic.IList<System.Drawing.PointF> points)
{
if (points.Count == 0)
return System.Drawing.RectangleF.Empty;
float x1, x2, y1, y2;
x1 = x2 = points[0].X;
y1 = y2 = points[0].Y;
for (int i = 1; i < points.Count; i++)
{
float x = points[i].X;
float y = points[i].Y;
if (x1 > x)
x1 = x;
if (x2 < x)
x2 = x;
if (y1 > y)
y1 = y;
if (y2 < y)
y2 = y;
}
return new System.Drawing.RectangleF(x1, y1, x2 - x1, y2 - y1);
}
#endregion
}
#endregion
#region TextPolygonAnnotationView
/// <summary>
/// Determines how to display the annotation that displays polygon with text.
/// </summary>
public class TextPolygonAnnotationView : Vintasoft.Imaging.Annotation.UI.PolygonAnnotationView
{
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="TextPolygonAnnotationView"/> class.
/// </summary>
/// <param name="annotationData">Object that stores the annotation data.</param>
public TextPolygonAnnotationView(TextPolygonAnnotationData annotationData)
: base(annotationData)
{
}
#endregion
#region Properties
/// <summary>
/// Gets or sets the text of the annotation.
/// </summary>
[System.ComponentModel.Description("Text of the annotation.")]
public string Text
{
get
{
return TextAnnoData.Text;
}
set
{
TextAnnoData.Text = value;
}
}
/// <summary>
/// Gets or sets the <see cref="Font"/> of the annotation.
/// </summary>
[System.ComponentModel.Description("Text font of the annotation.")]
public Vintasoft.Imaging.Annotation.AnnotationFont Font
{
get
{
return TextAnnoData.Font;
}
set
{
TextAnnoData.Font = value;
}
}
/// <summary>
/// Gets or sets the font brush of the annotation.
/// </summary>
[System.ComponentModel.Description("Font brush of the annotation.")]
public Vintasoft.Imaging.Annotation.AnnotationBrushBase FontBrush
{
get
{
return TextAnnoData.FontBrush;
}
set
{
TextAnnoData.FontBrush = value;
}
}
/// <summary>
/// Gets typed annotation data value.
/// </summary>
TextPolygonAnnotationData TextAnnoData
{
get
{
return (TextPolygonAnnotationData)Data;
}
}
#endregion
#region Methods
/// <summary>
/// Creates a new object that is a copy of the current
/// <see cref="Vintasoft.Imaging.Annotation.UI.TextAnnotationView"/> instance.
/// </summary>
/// <returns>A new object that is a copy of this
/// <see cref="Vintasoft.Imaging.Annotation.UI.TextAnnotationView"/> instance.</returns>
public override object Clone()
{
return new TextPolygonAnnotationView((TextPolygonAnnotationData)(Data.Clone()));
}
#endregion
}
#endregion
System.Object
 Vintasoft.Imaging.Annotation.UI.AnnotationView
   Vintasoft.Imaging.Annotation.UI.LineAnnotationViewBase
     Vintasoft.Imaging.Annotation.UI.LinesAnnotationView
       Vintasoft.Imaging.Annotation.UI.PolygonAnnotationView
Целевые платформы: .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5