Método Graphics.DrawArc() en C# con ejemplos

El método Graphics.DrawArc se usa para dibujar un arco que representa una parte de una elipse especificada por un par de coordenadas, un ancho y una altura. Hay 4 métodos en la lista de sobrecarga de este método de la siguiente manera:

  • Método DrawArc (Pluma, Rectángulo, Único, Único)
  • Método DrawArc(Pluma, RectánguloF, Único, Único)
  • Método DrawArc(Pluma, Int32, Int32, Int32, Int32, Int32, Int32)
  • Método DrawArc(Pluma, Único, Único, Único, Único, Único, Único)

DrawArc(Bolígrafo, Rectángulo, Único, Único)

Este método se utiliza para dibujar un arco que representa una parte de una elipse especificada por una estructura Rectangle.

Sintaxis: public void DrawArc (System.Drawing.Pen pen, System.Drawing.Rectangle rect, float startAngle, float sweepAngle)

Parámetros:
pluma : determina el color, el ancho y el estilo del arco.
rect : determina el rectángulo más pequeño en el que la elipse encaja perfectamente.
startAngle : Ángulo en grados medido en el sentido de las agujas del reloj desde el eje x hasta el punto inicial del arco.
sweepAngle : Ángulo en grados medido en el sentido de las agujas del reloj desde el parámetro startAngle hasta el punto final del arco.

Excepción: este método dará ArgumentNullException si la pluma es nula.

Ejemplo:

// C# program to illustrate the 
// DrawArc(Pen, Rectangle, Single,
// Single) Method
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;
  
namespace GFG {
  
class PrintableForm : Form {
  
    // Main Method
    public static void Main()
    {
        Application.Run(new PrintableForm());
    }
    public PrintableForm()
    {
        ResizeRedraw = true;
    }
  
    protected override void OnPaint(PaintEventArgs e)
    {
        // Create pen.
        Pen blackPen = new Pen(Color.Black, 3);
  
        // Reactangle with specifies x1,
        // y1, x2, y2 respectively
        Rectangle rect = new Rectangle(0, 0, 100, 200);
  
        // Create start and sweep angles on ellipse.
        float startAngle = 45.0F;
        float sweepAngle = 270.0F;
  
        // Draw arc to screen.
        e.Graphics.DrawArc(blackPen, rect, 
                  startAngle, sweepAngle);
    }
}
}

Producción:

DrawArc(Pluma, RectánguloF, Único, Único)

Este método se utiliza para dibujar un arco que representa una parte de una elipse especificada por una estructura RectangleF.

Sintaxis: public void DrawArc (System.Drawing.Pen pen, System.Drawing.RectangleF rect, float startAngle, float sweepAngle);

Parámetros:
pluma : determina el color, el ancho y el estilo del arco.
rect : determina el rectángulo más pequeño en el que la elipse encaja perfectamente.
startAngle : Ángulo en grados medido en el sentido de las agujas del reloj desde el eje x hasta el punto inicial del arco. sweepAngle : Ángulo en grados medido en el sentido de las agujas del reloj desde el parámetro startAngle hasta el punto final del arco.

Excepción: este método dará ArgumentNullException si la pluma es nula.

Ejemplo 1:

// C# program to illustrate the 
// DrawArc(Pen, RectangleF, 
// Single, Single) Method
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;
  
namespace GFG {
  
class PrintableForm : Form {
  
    // Main Method
    public static void Main()
    {
  
        Application.Run(new PrintableForm());
    }
  
    public PrintableForm()
    {
        ResizeRedraw = true;
    }
  
    protected override void OnPaint(PaintEventArgs e)
    {
        // Create pen
        Pen blackPen = new Pen(Color.Black, 3);
  
        // Reactangle with specifies x1,
        // y1, x2, y2 respectively
        RectangleF rect = new RectangleF(0.0F, 
                        0.0F, 100.0F, 200.0F);
  
        // Create start and sweep
        // angles on an ellipse.
        float startAngle = 45.0F;
        float sweepAngle = 270.0F;
  
        // Draw arc to screen.
        e.Graphics.DrawArc(blackPen, rect,
                  startAngle, sweepAngle);
    }
}
}

Producción:

DrawArc(Pluma, Sencilla, Sencilla, Sencilla, Sencilla, Sencilla, Sencilla)

Este método se utiliza para dibujar un arco que representa una parte de una elipse especificada por un par de coordenadas, un ancho y una altura.

Sintaxis: public void DrawArc (System.Drawing.Pen pen, float x, float y, float width, float height, float startAngle, float sweepAngle);

Parámetros:
bolígrafo : el bolígrafo determina el color, el ancho y el estilo de la línea.
x : La abscisa de la esquina superior izquierda del rectángulo que define la elipse.
y : La ordenada de la esquina superior izquierda del rectángulo que define la elipse.
ancho : Ancho del rectángulo que define la elipse o más específicamente podemos decir el diámetro de la elipse en abscisas.
altura : Altura del rectángulo que define la elipse o más concretamente podemos decir el diámetro de la elipse en ordenadas.
startAngle : Ángulo en grados medido en el sentido de las agujas del reloj desde el eje x hasta el punto inicial del arco.
ángulo de barrido: Ángulo en grados medido en el sentido de las agujas del reloj desde el parámetro startAngle hasta el punto final del arco.

Excepción: este método dará ArgumentNullException si la pluma es nula.

Ejemplo 1:

// C# program to draw a circle
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;
  
namespace GFG {
  
class PrintableForm : Form {
  
    // Main Method
    public static void Main()
    {
        Application.Run(new PrintableForm());
    }
  
    public PrintableForm()
    {
        ResizeRedraw = true;
    }
  
    protected override void OnPaint(PaintEventArgs e)
    {
        // Create pen.
        Pen blackPen = new Pen(Color.Black, 3);
  
        // Create coordinates of the rectangle
        // to the bound ellipse.
        int x = 0;
        int y = 0;
        int width = 100;
        int height = 200;
  
        // Create start and sweep 
        // angles on ellipse.
        int startAngle = 0;
        int sweepAngle = 360;
  
        // Draw arc to screen.
        e.Graphics.DrawArc(blackPen, x, y, width,
                 height, startAngle, sweepAngle);
    }
}
}

Producción:

Ejemplo 2:

// C# program to draw GFG
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;
  
namespace GFG {
  
class PrintableForm : Form {
  
    // Main Method
    public static void Main()
    {
        Application.Run(new PrintableForm());
    }
  
    public PrintableForm()
    {
        ResizeRedraw = true;
    }
  
    protected override void OnPaint(PaintEventArgs e)
    {
        // Create pen.
        Pen blackPen = new Pen(Color.Black, 3);
  
        // Creates letter G
        e.Graphics.DrawArc(blackPen, 10,
                  10, 100, 200, 0, 315);
  
        e.Graphics.DrawLine(blackPen,
                  60, 110, 110, 110);
  
        // Creates letter F
        e.Graphics.DrawLine(blackPen,
                  130, 10, 130, 210);
  
        e.Graphics.DrawLine(blackPen,
                   130, 10, 200, 10);
  
        e.Graphics.DrawLine(blackPen, 
                 130, 110, 170, 110);
  
        // Creates the next letter G
        e.Graphics.DrawArc(blackPen,
         210, 10, 100, 200, 0, 315);
  
        e.Graphics.DrawLine(blackPen,
                 260, 110, 310, 110);
    }
}
}

Producción:

Dibujar Arco (Pluma, Int32, Int32, Int32, Int32, Int32, Int32)

Este método se utiliza para dibujar un arco que representa una parte de una elipse especificada por un par de coordenadas, un ancho y una altura.

Sintaxis: public void DrawArc (System.Drawing.Pen pen, int x, int y, int ancho, int alto, int startAngle, int sweepAngle);

Parámetros:
bolígrafo : el bolígrafo determina el color, el ancho y el estilo de la línea.
x : La abscisa de la esquina superior izquierda del rectángulo que define la elipse.
y : La ordenada de la esquina superior izquierda del rectángulo que define la elipse.
ancho : Ancho del rectángulo que define la elipse o más específicamente podemos decir el diámetro de la elipse en abscisas.
altura : Altura del rectángulo que define la elipse o más específicamente podemos decir el diámetro de la elipse desmesurada.
startAngle : Ángulo en grados medido en el sentido de las agujas del reloj desde el eje x hasta el punto inicial del arco.
ángulo de barrido: Ángulo en grados medido en el sentido de las agujas del reloj desde el parámetro startAngle hasta el punto final del arco.

Excepción: este método dará ArgumentNullException si la pluma es nula.

Ejemplo:

// C# program to draw a circle
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;
  
namespace GFG {
  
class PrintableForm : Form {
  
    // Main Method
    public static void Main()
    {
        Application.Run(new PrintableForm());
    }
    public PrintableForm()
    {
        ResizeRedraw = true;
    }
    protected override void OnPaint(PaintEventArgs e)
    {
        // Create pen.
        Pen blackPen = new Pen(Color.Black, 3);
  
        // Create coordinates of the rectangle
        // to the bound ellipse.
        float x = 0.0F;
        float y = 0.0F;
        float width = 100.0F;
        float height = 200.0F;
  
        // Create start and sweep
        // angles on the ellipse.
        float startAngle = 0.0F;
        float sweepAngle = 360.0F;
  
        // Draw arc to screen.
        e.Graphics.DrawArc(blackPen, x, y, width,
                 height, startAngle, sweepAngle);
    }
}
}

Producción:

Referencia:

Publicación traducida automáticamente

Artículo escrito por ShivamChauhan5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *