Визуальный инструмент для отображения статических графических объектов в просмотрщике изображений.
Вот C#/VB.NET код, который демонстрирует, как нарисовать два графических объекта в просмотрщике: первый объект - прямоугольник (красный), который использует систему координат текущего изображения, второй объект - эллипс (зеленый), который использует координату. система просмотра изображений:
''' <summary>
''' Tests the graphics objects on image viewer.
''' </summary>
''' <param name="viewer">The viewer.</param>
Public Shared Sub TestGraphicsObjects(viewer As Vintasoft.Imaging.UI.ImageViewer)
' objects location and size
Dim objectBBox As New System.Drawing.RectangleF(40, 60, 80, 100)
' object fill brush
Dim brush As System.Drawing.Brush = New System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(128, System.Drawing.Color.White))
' create Rectangular Graphic Object
Dim rect As New Vintasoft.Imaging.UI.VisualTools.GraphicObjects.RectangularGraphicObject(objectBBox, New System.Drawing.Pen(System.Drawing.Color.Red, 10), brush)
' use current image coordinate space for rectange
rect.PointTransform = New Vintasoft.Imaging.UI.VisualTools.PixelsToImageViewerPointFTransform()
' create Elliptical Graphic Object
Dim ellipse As New Vintasoft.Imaging.UI.VisualTools.GraphicObjects.EllipticalGraphicObject(objectBBox, New System.Drawing.Pen(System.Drawing.Color.Green, 10), brush)
' use image viewer coordinate space for ellipse
ellipse.PointTransform = Nothing
' create GraphicObjectTool
Dim graphicObjects As New Vintasoft.Imaging.UI.VisualTools.GraphicObjects.GraphicObjectTool()
graphicObjects.GraphicObjectCollection.Add(rect)
graphicObjects.GraphicObjectCollection.Add(ellipse)
' set GraphicObjectTool as current tool of ImageViewer
viewer.VisualTool = graphicObjects
End Sub
/// <summary>
/// Tests the graphics objects on image viewer.
/// </summary>
/// <param name="viewer">The viewer.</param>
public static void TestGraphicsObjects(Vintasoft.Imaging.UI.ImageViewer viewer)
{
// objects location and size
System.Drawing.RectangleF objectBBox = new System.Drawing.RectangleF(40, 60, 80, 100);
// object fill brush
System.Drawing.Brush brush = new System.Drawing.SolidBrush(
System.Drawing.Color.FromArgb(128, System.Drawing.Color.White));
// create Rectangular Graphic Object
Vintasoft.Imaging.UI.VisualTools.GraphicObjects.RectangularGraphicObject rect =
new Vintasoft.Imaging.UI.VisualTools.GraphicObjects.RectangularGraphicObject(
objectBBox,
new System.Drawing.Pen(System.Drawing.Color.Red, 10),
brush);
// use current image coordinate space for rectange
rect.PointTransform =
new Vintasoft.Imaging.UI.VisualTools.PixelsToImageViewerPointFTransform();
// create Elliptical Graphic Object
Vintasoft.Imaging.UI.VisualTools.GraphicObjects.EllipticalGraphicObject ellipse =
new Vintasoft.Imaging.UI.VisualTools.GraphicObjects.EllipticalGraphicObject(
objectBBox,
new System.Drawing.Pen(System.Drawing.Color.Green, 10),
brush);
// use image viewer coordinate space for ellipse
ellipse.PointTransform = null;
// create GraphicObjectTool
Vintasoft.Imaging.UI.VisualTools.GraphicObjects.GraphicObjectTool graphicObjects =
new Vintasoft.Imaging.UI.VisualTools.GraphicObjects.GraphicObjectTool();
graphicObjects.GraphicObjectCollection.Add(rect);
graphicObjects.GraphicObjectCollection.Add(ellipse);
// set GraphicObjectTool as current tool of ImageViewer
viewer.VisualTool = graphicObjects;
}
Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5