2009-07-11 4 views
1

C#에는 그림이 있습니다. 나는 4 가지 색을 그려보고 싶다. 기본값은 흰색, 빨간색, 녹색, 파란색입니다. 이 4 가지 색상을이 그림 상자에 어떻게 그려 넣을 수 있습니까? 아니면 4 픽스 박스가 있어야합니까? 이 경우 어떻게 rgb 색상을 설정합니까?그림 상자에 색을 그리기?

+1

귀하의 질문은 매우 모호합니다. 각 부분에 직사각형을 그리시겠습니까? 픽셀을 그립니까? 뭐? – Dykam

답변

8

구체적으로 그릴 내용을 지정해야합니다. 빨간색을 그릴 수는 없습니다. 그러나 높이가 100 픽셀이고 너비가 100 인 위치 (0,0)에 빨간색 직사각형을 그릴 수 있습니다. 그러나 나는 할 수있는 것에 대답 할 것이다.

도형의 윤곽을 특정 색으로 설정하려면 Pen 개체를 만듭니다. 그러나 색상으로 도형을 채우려면 Brush 객체를 사용합니다. 다음은 빨간색으로 채워진 사각형을 그릴 것입니다 방법의 예는, 그리고 사각형 녹색에 설명 :

private void pictureBox_Paint(object sender, PaintEventArgs e) 
{ 
    Graphics graphics = e.Graphics; 

    Brush brush = new SolidBrush(Color.Red); 
    graphics.FillRectangle(brush, new Rectangle(10, 10, 100, 100)); 

    Pen pen = new Pen(Color.Green); 
    graphics.DrawRectangle(pen, new Rectangle(5, 5, 100, 100)); 
} 
2

페인트 이벤트에 대한 이벤트 핸들러를 작성, 폼에 PictureBox를 추가하고,이처럼 보이게 :이 4 개 사각형으로 표면을 나눕니다

private void PictureBox_Paint(object sender, PaintEventArgs e) 
{ 
    int width = myPictureBox.ClientSize.Width/2; 
    int height = myPictureBox.ClientSize.Height/2; 

    Rectangle rect = new Rectangle(0, 0, width, height); 
    e.Graphics.FillRectangle(Brushes.White, rect); 
    rect = new Rectangle(width, 0, width, height); 
    e.Graphics.FillRectangle(Brushes.Red, rect); 
    rect = new Rectangle(0, height, width, height); 
    e.Graphics.FillRectangle(Brushes.Green, rect); 
    rect = new Rectangle(width, height, width, height); 
    e.Graphics.FillRectangle(Brushes.Blue, rect); 
} 

과 색상으로 그들 각각의 페인트 흰색, 빨간색, 녹색 및 파란색.

0

이 아닌 사전 정의 된 색상을 사용하려는 경우, 당신은 정적 방법에서 Color 객체를 얻을 필요 Color.FromArgb().

int r = 100; 
int g = 200; 
int b = 50; 

Color c = Color.FromArgb(r, g, b); 

Brush brush = new SolidBrush(c); 
//... 

안부
올리버 Hanappi