달나라 노트

C# : DrawRectangle, Pen (비어있는 사각형) 본문

C#/C#

C# : DrawRectangle, Pen (비어있는 사각형)

CosmosProject 2022. 5. 30. 02:05
728x90
반응형

 

 

 

DrawRectangle method는 비어있는(테두리만 있는) 사각형을 그립니다.

 

 

Syntax - DrawRectangle

FillRectangle(pen, Rectangle)

 

- pen

FillRectangle method는 첫 번째 인자로 Pen 객체를 받습니다.

Pen 객체는 색상과 두께 정보를 가지고 있습니다.

 

 

- Rectangle

두 번째 인자로는 Rectangle 객체를 받습니다.

Rectangle 객체는 사각형의 x, y좌표와 가로/세로 길이 정보를 받습니다.

 

 

 

 

 

 

Syntax - Rectangle object

Rectangle rect = new Rectangle(x, y, width, height)

 

- x, y

사각형 왼쪽 상단 꼭지점의 x, y 좌표를 의미합니다.

사각형 좌표의 기준은 왼쪽 상단 꼭지점입니다.

 

 

- width, height

사각형의 가로 길이(width), 세로 길이(height)를 의미합니다.

 

 

 

 

 

 

 

Syntax - Pen object

Pen pen = new Pen(Color, thickness)

 

- Color

Pen의 색상정보를 의미합니다. 특정 Color 이름이나 RGB 값을 받을 수도 있습니다.

 

 

- thickness

Pen의 두께를 의미합니다.

 

 

 

 

 

 

 

using System;
using System.Windows.Forms;
using System.Drawing;

class Sample2 : Form
{
    public static void Main()
    {
        Form fm = new Form();
        fm.ClientSize = new Size(300, 250);


        void paint_fill_rectangle(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            Rectangle rect = new Rectangle(10, 20, 100, 50);
            g.DrawRectangle(new Pen(Color.Gray, 5), rect);
        }
        fm.Paint += new PaintEventHandler(paint_fill_rectangle);



        Application.Run(fm);
    }
}

 

 

DrawRectangle도 마찬가지로 Paint Event로 사용할 수 있습니다.

 

위 코드를 보면 Form에 DrawRectangle을 그리고 있습니다.

 

 

 

 

        void paint_fill_rectangle(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            Rectangle rect = new Rectangle(10, 20, 100, 50);
            g.DrawRectangle(new Pen(Color.Gray, 5), rect);
        }
        fm.Paint += new PaintEventHandler(paint_fill_rectangle);

 

DrawRectangle을 보면 다음과 같습니다.

 

먼저 Pen 객체를 전달합니다.

Pen을 Gray로 설정했으므로 회색 사각형이 그려질 것입니다.

 

 

두 번째로 Rectangle 객체를 rect 변수에 담은 후, DrawRectangle method의 두 번째 인자로 전달하고있습니다.

Rectangle 객체에서 10, 20은 각각 순서대로 x, y좌표를 의미합니다.

100, 50은 각각 순서대로 가로 길이, 세로 길이를 의미합니다.

 

 

 

 

 

 

728x90
반응형
Comments