创建使用圆心和半径绘制圆的方法

时间:2012-09-29 15:48:50

标签: c#

我创建的方法的工作原理是它会在pictureBox中创建一个圆,但它只会使用矩形的坐标。

我正在尝试创建以下内容,

  • Windows表单:
    • 1 pictureBox
    • 1 textBox
    • 1按钮

textBox应该用于插入圆的半径。

(double input=Convert.ToDouble(textBox1.Text)

{
private void button1_Click(object sender, EventArgs e)

    {
        double input....
        double radius= Math.PI*input*input;
        Graphics paper;
        paper = pictureBox1.CreateGraphics();
        Pen pen = new Pen(Color.Black);
        getCircle(paper, pen, (variables for center), radius);
    }
private void getCircle(Graphics drawingArea, Pen penToUse, int xPos, int yPos, double radius);

{
}

}

我的问题是,我不知道如何使用预先确定的中心坐标Math.PI*radius*radius来创建圆圈。

我希望看到使用编码方法和button_click

的答案

1 个答案:

答案 0 :(得分:2)

我不明白你为什么要找到圆圈的区域并将其称为半径,但是由于看起来你正在使用Winforms我会使用Graphics.DrawEllipse方法并使用你可以通过减去的方找到的矩形距离所需中心的半径。

private void button1_Click(object sender, EventArgs e)
{
    int centerX;
    int centerY;
    int radius;

    if (!int.TryParse(textBox2.Text, out centerX))
        return;
    if (!int.TryParse(textBox3.Text, out centerY))
        return;
    if(! int.TryParse(textBox1.Text,out radius))
        return;

    Point center = new Point(centerX, centerY);

    Graphics paper; 
    paper = pictureBox1.CreateGraphics(); 
    Pen pen = new Pen(Color.Black); 
    getCircle(paper, pen, center, radius); 

}

private void getCircle(Graphics drawingArea, Pen penToUse, Point center, int radius) 
{ 
    Rectangle rect = new Rectangle(center.X-radius, center.Y-radius,radius*2,radius*2); 
    drawingArea.DrawEllipse(penToUse,rect);
}