VintaSoft Imaging .NET SDK 12.3: Documentation for .NET developer
Vintasoft.Imaging.Drawing Namespace / DrawingEngine Class / FillArc(IDrawingBrush,RectangleF,Single,Single) Method
Syntax Example Requirements SeeAlso
In This Topic
    FillArc(IDrawingBrush,RectangleF,Single,Single) Method (DrawingEngine)
    In This Topic
    Fills the interior of an arc section defined by an ellipse specified by a System.Drawing.RectangleF structure and two radial lines.
    Syntax
    'Declaration
    
    Public Sub FillArc( _
    ByVal brush
    IDrawingBrush that determines the characteristics of the fill.
    As IDrawingBrush, _
    ByVal rect
    A System.Drawing.RectangleF that represents the rectangular bounds of the ellipse from which the arc is taken.
    As System.Drawing.RectangleF, _
    ByVal startAngle
    The starting angle of the arc, measured in degrees clockwise from the x-axis.
    As Single, _
    ByVal sweepAngle
    The angle between startAngle and the end of the arc.
    As Single _
    )

    Parameters

    brush
    IDrawingBrush that determines the characteristics of the fill.
    rect
    A System.Drawing.RectangleF that represents the rectangular bounds of the ellipse from which the arc is taken.
    startAngle
    The starting angle of the arc, measured in degrees clockwise from the x-axis.
    sweepAngle
    The angle between startAngle and the end of the arc.
    Example

    Here is an example that shows how to fill arc 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: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also