2012-09-29 2 views
-1

내가 만든 방법은 pictureBox에 원을 만들지 만 직사각형의 좌표 만 사용한다는 점에서 효과가있었습니다. 나는 다음을 만들려고 해요원과 반지름의 중심을 사용하여 원을 그리는 방법 만들기

,

  • Windows 폼과 함께 :
    • 1 PictureBox를
    • 1 텍스트 상자
    • 1 버튼

텍스트 상자가해야 cir에 반경을 삽입하는 데 사용된다. cle.

(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

DrawEllipse. 당신이 아마 너무 많은 답변을 얻지 못할 reasone은 당신이 약간의 연구를하고, 무언가를 시도한 다음에 물을 것으로 예상된다는 것입니다. –

+0

Im은 HW를 추측하고 cos/sin * radius를 사용하여 원을 그려야 만합니다. –

답변

2

을보고 싶다,하지만 당신이 윈폼을 사용하고있는 것으로 보인다 때문에 난 그냥 것 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); 
} 
+0

아아는 훌륭합니다.이 모든 것은 훌륭하게 작동합니다. 아직 if 명령을 사용할 수 없습니다. 또한이 책은 혼란 스럽다. 챕터에는 질문에 관해서는 아무런 가치가 없다. 제 1 장 이후로 내 "프로그램"을 손상시키지 않으려면 사용하고 싶었다. 그러나 이것은 정말 도움이되는 대답이었습니다. 이것은 책이 내가 원하는 것을 바꿀 수있는 것입니다. – user1708501

+0

@ user1708501 if 명령을 사용하여 문자열을 정수로 구문 분석했습니다. int.Parse를 사용할 수는 있지만 오류가 발생하거나 Int.TryParse를 사용하면 If 문없이 대신 오류가 발생합니다. 도움이되어 기뻐요 –

+0

방금 ​​다른 프로젝트에서 int.TryParse를 사용했습니다. 오류 방지. 다시 고마워요 – user1708501

관련 문제