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

Public Sub DrawPie( _
ByVal pen
IDrawingPen that determines the color, width, and style of the pie shape.
As IDrawingPen, _
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

pen
IDrawingPen that determines the color, width, and style of the pie shape.
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 draw 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