当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# Graphics.DrawArc()用法及代码示例


Graphics.DrawArc方法用于绘制表示由一对坐标,宽度和高度指定的椭圆的一部分的圆弧。此方法的重载列表中有4种方法,如下所示:

  • DrawArc(Pen,Rectangle,Single,Single)方法
  • DrawArc(Pen,RectangleF,Single,Single)方法
  • DrawArc(Pen,Int32,Int32,Int32,Int32,Int32,Int32)方法
  • DrawArc(Pen, Single, Single, Single, Single, Single, Single)方法

DrawArc(Pen, Rectangle, Single, Single)

此方法用于绘制表示由Rectangle结构指定的椭圆的一部分的弧。

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

参数:
pen:确定弧的颜色,宽度和样式。
rect:确定椭圆恰好适合的最小矩形。
startAngle:角度,以度为单位,从x轴到弧的起点顺时针测量。
sweepAngle:角度,以度为单位,从startAngle参数到弧的终点按顺时针方向测量。

异常:如果pen为null,则此方法将提供ArgumentNullException。

例:

// 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); 
    } 
} 
}

输出:

DrawArc(Pen, RectangleF, Single, Single)

此方法用于绘制表示由RectangleF结构指定的椭圆的一部分的弧。

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

参数:
pen:确定弧的颜色,宽度和样式。
rect:确定椭圆恰好适合的最小矩形。
startAngle:从x轴到弧的起点顺时针测量的角度,以度为单位。swweepAngle:从startAngle参数到弧的终点沿顺时针测量的角度,以度为单位。


异常:如果pen为null,则此方法将提供ArgumentNullException。

范例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); 
    } 
} 
}

输出:

DrawArc(Pen, Single, Single, Single, Single, Single, Single)

此方法用于绘制表示由一对坐标,宽度和高度指定的椭圆的一部分的弧。

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

参数:
pen:笔确定线条的颜色,宽度和样式。
x:定义椭圆的矩形左上角的横坐标。
y:定义椭圆的矩形的左上角的坐标。
width:定义椭圆的矩形的宽度,或更具体地说,我们可以说椭圆的直径为横坐标。
height:定义椭圆的矩形的高度,或更确切地说,我们可以用纵坐标表示椭圆的直径。
startAngle:角度,以度为单位,从x轴到弧的起点顺时针测量。
sweepAngle:从startAngle参数到弧的终点,按顺时针方向测量的角度(以度为单位)。

异常:如果pen为null,则此方法将提供ArgumentNullException。

范例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); 
    } 
} 
}

输出:


范例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); 
    } 
} 
}

输出:

DrawArc(Pen, Int32, Int32, Int32, Int32, Int32, Int32)

此方法用于绘制表示由一对坐标,宽度和高度指定的椭圆的一部分的弧。

用法: public void DrawArc (System.Drawing.Pen pen, int x, int y, int width, int height, int startAngle, int sweepAngle);

参数:
pen:笔确定线条的颜色,宽度和样式。
x:定义椭圆的矩形左上角的横坐标。
y:定义椭圆的矩形的左上角的坐标。
width:定义椭圆的矩形的宽度,或更具体地说,我们可以说椭圆的直径为横坐标。
height:定义椭圆的矩形的高度,或更具体地说,我们可以说椭圆的直径为纵坐标。
startAngle:角度,以度为单位,从x轴到弧的起点顺时针测量。
sweepAngle:角度,以度为单位,从startAngle参数到弧的终点按顺时针方向测量。

异常:如果pen为null,则此方法将提供ArgumentNullException。

例:

// 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); 
    } 
} 
}

输出:

参考:



相关用法


注:本文由纯净天空筛选整理自ShivamChauhan5大神的英文原创作品 Graphics.DrawArc() Method in C# with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。