VintaSoft Imaging .NET SDK 14.0: Documentation for .NET developer
Vintasoft.Imaging.Drawing Namespace / DrawingEngine Class / DrawEllipse Methods / DrawEllipse(IDrawingPen,Single,Single,Single,Single) Method
Syntax Example Requirements SeeAlso
In This Topic
    DrawEllipse(IDrawingPen,Single,Single,Single,Single) Method (DrawingEngine)
    In This Topic
    Draws an ellipse.
    Syntax
    'Declaration
    
    Public Overloads Sub DrawEllipse( _
    ByVal pen
    The pen that determines the color, width, and style of the rectangle.
    As IDrawingPen, _
    ByVal x
    The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.
    As Single, _
    ByVal y
    The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.
    As Single, _
    ByVal width
    The width of the bounding rectangle that defines the ellipse.
    As Single, _
    ByVal height
    The height of the bounding rectangle that defines the ellipse.
    As Single _
    )
    public void DrawEllipse(
    IDrawingPen pen,
    float x,
    float y,
    float width,
    float height
    )
    public: void DrawEllipse(
    IDrawingPen* pen,
    float x,
    float y,
    float width,
    float height
    )
    public:
    void DrawEllipse(
    IDrawingPen^ pen,
    float x,
    float y,
    float width,
    float height
    )

    Parameters

    pen
    The pen that determines the color, width, and style of the rectangle.
    x
    The x-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.
    y
    The y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse.
    width
    The width of the bounding rectangle that defines the ellipse.
    height
    The height of the bounding rectangle that defines the ellipse.
    Example

    Here is an example that shows how to draw ellipse using drawing engine.

    
    ''' <summary>
    ''' Draws primitives (rectangle, ellipse, arc, pie, curve) on specified drawing engine.
    ''' </summary>
    ''' <param name="drawingEngine">Drawing engine.</param>
    ''' <param name="area">Area to draw objects in.</param>
    Public Shared Sub DrawPrimitivesExample(drawingEngine As DrawingEngine, area As RectangleF)
        Using brush As IDrawingBrush = drawingEngine.DrawingFactory.CreateSolidBrush(Color.LightGreen)
            Using pen As IDrawingPen = drawingEngine.DrawingFactory.CreatePen(Color.Red, 2F)
                ' draw rectangle
                Dim figureRect As New RectangleF(area.X, area.Y, area.Width * 0.47F, area.Height * 0.47F)
                drawingEngine.FillRectangle(brush, figureRect)
                drawingEngine.DrawRectangle(pen, figureRect)
    
                ' draw ellipse
                figureRect = New RectangleF(area.Width * 0.53F, area.Y, area.Width * 0.47F, area.Height * 0.47F)
                drawingEngine.FillEllipse(brush, figureRect)
                drawingEngine.DrawEllipse(pen, figureRect)
    
                ' draw arc
                figureRect = New RectangleF(area.X, area.Height * 0.53F, area.Width * 0.47F, area.Height * 0.47F)
                drawingEngine.FillArc(brush, figureRect, 90, 140)
                drawingEngine.DrawArc(pen, figureRect, 90, 140)
    
                ' draw pie
                drawingEngine.FillPie(brush, figureRect, -50, 50)
                drawingEngine.DrawPie(pen, figureRect, -50, 50)
    
                ' create graphics path
                Using path As IGraphicsPath = drawingEngine.DrawingFactory.CreateGraphicsPath()
                    ' create curve points
                    Dim startPoint As New PointF(area.Width * 0.53F, area.Height * 0.53F)
    
                    Dim curvePoints As PointF() = New PointF() {startPoint, New PointF(startPoint.X * 1.3F, startPoint.Y * 1.8F), New PointF(startPoint.X * 1.7F, startPoint.Y * 1.2F), New PointF(area.Width * 0.99F, area.Height * 0.99F)}
    
                    ' add curve to path
                    path.AddCurve(curvePoints, 0.5F)
                    ' draw path
                    drawingEngine.FillPath(brush, path)
                    drawingEngine.DrawPath(pen, path)
                End Using
            End Using
        End Using
    End Sub
    
    
    
    /// <summary>
    /// Draws primitives (rectangle, ellipse, arc, pie, curve) on specified drawing engine.
    /// </summary>
    /// <param name="drawingEngine">Drawing engine.</param>
    /// <param name="area">Area to draw objects in.</param>
    public static void DrawPrimitivesExample(DrawingEngine drawingEngine, RectangleF area)
    {
        using (IDrawingBrush brush = drawingEngine.DrawingFactory.CreateSolidBrush(Color.LightGreen))
        using (IDrawingPen pen = drawingEngine.DrawingFactory.CreatePen(Color.Red, 2f))
        {
            // draw rectangle
            RectangleF figureRect = new RectangleF(area.X, area.Y, area.Width * 0.47f, area.Height * 0.47f);
            drawingEngine.FillRectangle(brush, figureRect);
            drawingEngine.DrawRectangle(pen, figureRect);
    
            // draw ellipse
            figureRect = new RectangleF(area.Width * 0.53f, area.Y, area.Width * 0.47f, area.Height * 0.47f);
            drawingEngine.FillEllipse(brush, figureRect);
            drawingEngine.DrawEllipse(pen, figureRect);
    
            // draw arc
            figureRect = new RectangleF(area.X, area.Height * 0.53f, area.Width * 0.47f, area.Height * 0.47f);
            drawingEngine.FillArc(brush, figureRect, 90, 140);
            drawingEngine.DrawArc(pen, figureRect, 90, 140);
    
            // draw pie
            drawingEngine.FillPie(brush, figureRect, -50, 50);
            drawingEngine.DrawPie(pen, figureRect, -50, 50);
    
            // create graphics path
            using (IGraphicsPath path = drawingEngine.DrawingFactory.CreateGraphicsPath())
            {
                // create curve points
                PointF startPoint = new PointF(area.Width * 0.53f, area.Height * 0.53f);
    
                PointF[] curvePoints = new PointF[]
                {
                    startPoint,
                    new PointF(startPoint.X * 1.3f, startPoint.Y * 1.8f),
                    new PointF(startPoint.X * 1.7f, startPoint.Y * 1.2f),
                    new PointF(area.Width * 0.99f, area.Height * 0.99f)
                };
    
                // add curve to path
                path.AddCurve(curvePoints, 0.5f);
                // draw path
                drawingEngine.FillPath(brush, path);
                drawingEngine.DrawPath(pen, path);
            }
        }
    }
    
    

    Requirements

    Target Platforms: .NET9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also