
public class TextGraphicObject : RectangularGraphicObject
public __gc class TextGraphicObject : public RectangularGraphicObject*
public ref class TextGraphicObject : public RectangularGraphicObject^
'Declaration Public Class TextGraphicObject Inherits RectangularGraphicObject
Вот C#/VB.NET код, который демонстрирует, как нарисовать статический текст (имя файла, текущий коэффициент масштабирования) поверх изображения в просмотрщике изображений и нарисовать рамку вокруг изображения в просмотрщике изображений:
''' <summary> ''' Visual tool that draws static text (filename, current zoom factor) over image in ''' image viewer and draws a frame around image in image viewer: ''' </summary> Public Class GraphicObjectToolExample Inherits Vintasoft.Imaging.UI.VisualTools.GraphicObjects.GraphicObjectTool #Region "Fields" ''' <summary> ''' The graphic object that draws a filename over the image in image viewer. ''' </summary> Private _fileNameGraphicObject As New Vintasoft.Imaging.UI.VisualTools.GraphicObjects.TextGraphicObject() ''' <summary> ''' The graphic object that draws image zoom factor over the image in image viewer. ''' </summary> Private _zoomGraphicObject As New Vintasoft.Imaging.UI.VisualTools.GraphicObjects.TextGraphicObject() ''' <summary> ''' The graphic object that draws a frame around image in image viewer. ''' </summary> Private _borderGraphicObject As New Vintasoft.Imaging.UI.VisualTools.GraphicObjects.RectangularGraphicObject() #End Region #Region "Constructors" ''' <summary> ''' Initializes a new instance of the <see cref="GraphicObjectToolExample"/> class. ''' </summary> Public Sub New() _fileNameGraphicObject.TextAnchor = Vintasoft.Imaging.AnchorType.Top _fileNameGraphicObject.FontBrush = System.Drawing.Brushes.Salmon _fileNameGraphicObject.Font = New System.Drawing.Font("Arial", 24) GraphicObjectCollection.Add(_fileNameGraphicObject) _zoomGraphicObject.TextAnchor = Vintasoft.Imaging.AnchorType.Bottom Or Vintasoft.Imaging.AnchorType.Right _zoomGraphicObject.FontBrush = System.Drawing.Brushes.Lime _zoomGraphicObject.Font = New System.Drawing.Font("Arial", 20) GraphicObjectCollection.Add(_zoomGraphicObject) _borderGraphicObject.PointTransform = New Vintasoft.Imaging.UI.VisualTools.PixelsToImageViewerPointFTransform() _borderGraphicObject.Pen = New System.Drawing.Pen(System.Drawing.Color.FromArgb(128, System.Drawing.Color.Lime), 10) GraphicObjectCollection.Add(_borderGraphicObject) End Sub #End Region #Region "Methods" ''' <summary> ''' Raises the <see cref="Vintasoft.Imaging.UI.VisualTools.VisualTool.Activated" /> event. ''' </summary> Protected Overrides Sub OnActivated(e As System.EventArgs) MyBase.OnActivated(e) AddHandler ImageViewer.ZoomChanged, New System.EventHandler(Of Vintasoft.Imaging.UI.ZoomChangedEventArgs)(AddressOf ImageViewer_ZoomChanged) AddHandler ImageViewer.ClientSizeChanged, New System.EventHandler(AddressOf ImageViewer_ClientSizeChanged) AddHandler ImageViewer.ImageLoaded, New System.EventHandler(Of Vintasoft.Imaging.ImageLoadedEventArgs)(AddressOf ImageViewer_ImageLoaded) UpdateGraphicObjects() End Sub ''' <summary> ''' Raises the <see cref="Vintasoft.Imaging.UI.VisualTools.VisualTool.Deactivated" /> event. ''' </summary> Protected Overrides Sub OnDeactivated(e As System.EventArgs) MyBase.OnDeactivated(e) RemoveHandler ImageViewer.ZoomChanged, AddressOf ImageViewer_ZoomChanged RemoveHandler ImageViewer.ClientSizeChanged, AddressOf ImageViewer_ClientSizeChanged RemoveHandler ImageViewer.ImageLoaded, AddressOf ImageViewer_ImageLoaded End Sub ''' <summary> ''' Updates the graphic objects. ''' </summary> Private Sub UpdateGraphicObjects() _fileNameGraphicObject.Rectangle = ImageViewer.ClientRectangle _zoomGraphicObject.Rectangle = ImageViewer.ClientRectangle _zoomGraphicObject.Text = String.Format("Zoom: {0}", ImageViewer.Zoom) Dim image As Vintasoft.Imaging.VintasoftImage = ImageViewer.Image If image Is Nothing Then _fileNameGraphicObject.Text = String.Empty _borderGraphicObject.Rectangle = System.Drawing.Rectangle.Empty Else Dim info As Vintasoft.Imaging.ImageSourceInfo = image.SourceInfo If String.IsNullOrEmpty(info.Filename) Then _fileNameGraphicObject.Text = String.Empty Else Dim text As String = System.IO.Path.GetFileName(info.Filename) If info.PageCount > 1 Then text += String.Format(" (Page {0}/{1})", info.PageIndex + 1, info.PageCount) End If _fileNameGraphicObject.Text = text End If _borderGraphicObject.Rectangle = New System.Drawing.RectangleF(0, 0, image.Width, image.Height) End If End Sub ''' <summary> ''' Handles the ClientSizeChanged event of the ImageViewer control. ''' </summary> Private Sub ImageViewer_ClientSizeChanged(sender As Object, e As System.EventArgs) UpdateGraphicObjects() End Sub ''' <summary> ''' Handles the ZoomChanged event of the ImageViewer control. ''' </summary> Private Sub ImageViewer_ZoomChanged(sender As Object, e As Vintasoft.Imaging.UI.ZoomChangedEventArgs) UpdateGraphicObjects() End Sub ''' <summary> ''' Handles the ImageLoaded event of the ImageViewer control. ''' </summary> Private Sub ImageViewer_ImageLoaded(sender As Object, e As Vintasoft.Imaging.ImageLoadedEventArgs) UpdateGraphicObjects() End Sub #End Region End Class
/// <summary> /// Visual tool that draws static text (filename, current zoom factor) over image in /// image viewer and draws a frame around image in image viewer: /// </summary> public class GraphicObjectToolExample : Vintasoft.Imaging.UI.VisualTools.GraphicObjects.GraphicObjectTool { #region Fields /// <summary> /// The graphic object that draws a filename over the image in image viewer. /// </summary> Vintasoft.Imaging.UI.VisualTools.GraphicObjects.TextGraphicObject _fileNameGraphicObject = new Vintasoft.Imaging.UI.VisualTools.GraphicObjects.TextGraphicObject(); /// <summary> /// The graphic object that draws image zoom factor over the image in image viewer. /// </summary> Vintasoft.Imaging.UI.VisualTools.GraphicObjects.TextGraphicObject _zoomGraphicObject = new Vintasoft.Imaging.UI.VisualTools.GraphicObjects.TextGraphicObject(); /// <summary> /// The graphic object that draws a frame around image in image viewer. /// </summary> Vintasoft.Imaging.UI.VisualTools.GraphicObjects.RectangularGraphicObject _borderGraphicObject = new Vintasoft.Imaging.UI.VisualTools.GraphicObjects.RectangularGraphicObject(); #endregion #region Constructors /// <summary> /// Initializes a new instance of the <see cref="GraphicObjectToolExample"/> class. /// </summary> public GraphicObjectToolExample() { _fileNameGraphicObject.TextAnchor = Vintasoft.Imaging.AnchorType.Top; _fileNameGraphicObject.FontBrush = System.Drawing.Brushes.Salmon; _fileNameGraphicObject.Font = new System.Drawing.Font("Arial", 24); GraphicObjectCollection.Add(_fileNameGraphicObject); _zoomGraphicObject.TextAnchor = Vintasoft.Imaging.AnchorType.Bottom | Vintasoft.Imaging.AnchorType.Right; _zoomGraphicObject.FontBrush = System.Drawing.Brushes.Lime; _zoomGraphicObject.Font = new System.Drawing.Font("Arial", 20); GraphicObjectCollection.Add(_zoomGraphicObject); _borderGraphicObject.PointTransform = new Vintasoft.Imaging.UI.VisualTools.PixelsToImageViewerPointFTransform(); _borderGraphicObject.Pen = new System.Drawing.Pen( System.Drawing.Color.FromArgb(128, System.Drawing.Color.Lime), 10); GraphicObjectCollection.Add(_borderGraphicObject); } #endregion #region Methods /// <summary> /// Raises the <see cref="Vintasoft.Imaging.UI.VisualTools.VisualTool.Activated" /> event. /// </summary> protected override void OnActivated(System.EventArgs e) { base.OnActivated(e); ImageViewer.ZoomChanged += new System.EventHandler<Vintasoft.Imaging.UI.ZoomChangedEventArgs>(ImageViewer_ZoomChanged); ImageViewer.ClientSizeChanged += new System.EventHandler(ImageViewer_ClientSizeChanged); ImageViewer.ImageLoaded += new System.EventHandler<Vintasoft.Imaging.ImageLoadedEventArgs>(ImageViewer_ImageLoaded); UpdateGraphicObjects(); } /// <summary> /// Raises the <see cref="Vintasoft.Imaging.UI.VisualTools.VisualTool.Deactivated" /> event. /// </summary> protected override void OnDeactivated(System.EventArgs e) { base.OnDeactivated(e); ImageViewer.ZoomChanged -= ImageViewer_ZoomChanged; ImageViewer.ClientSizeChanged -= ImageViewer_ClientSizeChanged; ImageViewer.ImageLoaded -= ImageViewer_ImageLoaded; } /// <summary> /// Updates the graphic objects. /// </summary> void UpdateGraphicObjects() { _fileNameGraphicObject.Rectangle = ImageViewer.ClientRectangle; _zoomGraphicObject.Rectangle = ImageViewer.ClientRectangle; _zoomGraphicObject.Text = string.Format("Zoom: {0}", ImageViewer.Zoom); Vintasoft.Imaging.VintasoftImage image = ImageViewer.Image; if (image == null) { _fileNameGraphicObject.Text = string.Empty; _borderGraphicObject.Rectangle = System.Drawing.Rectangle.Empty; } else { Vintasoft.Imaging.ImageSourceInfo info = image.SourceInfo; if (string.IsNullOrEmpty(info.Filename)) _fileNameGraphicObject.Text = string.Empty; else { string text = System.IO.Path.GetFileName(info.Filename); if (info.PageCount > 1) text += string.Format(" (Page {0}/{1})", info.PageIndex + 1, info.PageCount); _fileNameGraphicObject.Text = text; } _borderGraphicObject.Rectangle = new System.Drawing.RectangleF(0, 0, image.Width, image.Height); } } /// <summary> /// Handles the ClientSizeChanged event of the ImageViewer control. /// </summary> void ImageViewer_ClientSizeChanged(object sender, System.EventArgs e) { UpdateGraphicObjects(); } /// <summary> /// Handles the ZoomChanged event of the ImageViewer control. /// </summary> void ImageViewer_ZoomChanged(object sender, Vintasoft.Imaging.UI.ZoomChangedEventArgs e) { UpdateGraphicObjects(); } /// <summary> /// Handles the ImageLoaded event of the ImageViewer control. /// </summary> void ImageViewer_ImageLoaded(object sender, Vintasoft.Imaging.ImageLoadedEventArgs e) { UpdateGraphicObjects(); } #endregion }
System.Object
Vintasoft.Imaging.UI.VisualTools.GraphicObjects.GraphicObject
Vintasoft.Imaging.UI.VisualTools.GraphicObjects.RectangularGraphicObject
Vintasoft.Imaging.UI.VisualTools.GraphicObjects.TextGraphicObject
Целевые платформы: .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5
Члены типа TextGraphicObject
Пространство имен Vintasoft.Imaging.UI.VisualTools.GraphicObjects
GraphicObject