VintaSoft Imaging .NET SDK 15.1: Documentation for .NET developer
Vintasoft.Imaging.Drawing Namespace / DrawingEngine Class / FillPie(IDrawingBrush,RectangleF,Single,Single) Method
Syntax Example Requirements SeeAlso
In This Topic
FillPie(IDrawingBrush,RectangleF,Single,Single) Method (DrawingEngine)
In This Topic
Fills the interior of a pie section defined by an ellipse specified by a System.Drawing.RectangleF structure and two radial lines.
Syntax
'Declaration

Public Sub FillPie( _
ByVal brush
IDrawingBrush that determines the characteristics of the fill.
As IDrawingBrush, _
ByVal rect
System.Drawing.RectangleF structure that represents the bounding rectangle that defines the ellipse from which the pie section comes.
As System.Drawing.RectangleF, _
ByVal startAngle
Angle in degrees measured clockwise from the x-axis to the first side of the pie section.
As Single, _
ByVal sweepAngle
Angle in degrees measured clockwise from the startAngle parameter to the second side of the pie section.
As Single _
)

Parameters

brush
IDrawingBrush that determines the characteristics of the fill.
rect
System.Drawing.RectangleF structure that represents the bounding rectangle that defines the ellipse from which the pie section comes.
startAngle
Angle in degrees measured clockwise from the x-axis to the first side of the pie section.
sweepAngle
Angle in degrees measured clockwise from the startAngle parameter to the second side of the pie section.
Example

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

See Also