방법: 펜 굵기 및 맞춤 설정

Pen을 만들 때 펜 너비를 생성자에 대한 인수 중 하나로 제공할 수 있습니다. Pen 클래스의 Width 속성을 사용하여 펜 너비를 변경할 수도 있습니다.

이론적 선의 너비는 0입니다. 너비가 1픽셀인 선을 그리면 픽셀이 이론적 선 가운데에 배치됩니다. 너비가 1픽셀 이상인 선을 그리면 픽셀이 이론적 선 가운데에 배치되거나 이론적 선의 한쪽에 나타납니다. Pen의 펜 맞춤 속성을 설정하여 해당 펜으로 그린 픽셀이 이론적 선을 기준으로 배치되는 방식을 결정할 수 있습니다.

다음 코드 예제에 표시되는 값 Center, Outset, InsetPenAlignment 열거형의 멤버입니다.

다음 코드 예제에서는 선을 두 번 그립니다. 한 번은 검은색 펜 너비가 1이고 한 번은 녹색 펜 너비가 10입니다.

펜의 너비를 변경하려면 다음을 수행합니다.

  • Alignment 속성 값을 Center(기본값)로 설정하여 녹색 펜으로 그린 픽셀이 이론적 선 가운데에 배치되도록 지정합니다. 다음 그림에서는 결과 선을 보여 줍니다.

    녹색 강조 표시가 있는 검은색 실선.

    다음 코드 예제에서는 사각형을 두 번 그립니다. 한 번은 검은색 펜 너비가 1이고 한 번은 녹색 펜 너비가 10입니다.

    Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1);
    Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10);
    greenPen.Alignment = PenAlignment.Center;
    
    // Draw the line with the wide green pen.
    e.Graphics.DrawLine(greenPen, 10, 100, 100, 50);
    
    // Draw the line with the thin black pen.
    e.Graphics.DrawLine(blackPen, 10, 100, 100, 50);
    
    Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1)
    Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10)
    greenPen.Alignment = PenAlignment.Center
    
    ' Draw the line with the wide green pen.
    e.Graphics.DrawLine(greenPen, 10, 100, 100, 50)
    
    ' Draw the line with the thin black pen.
    e.Graphics.DrawLine(blackPen, 10, 100, 100, 50)
    
    

펜 맞춤을 변경하려면 다음을 수행합니다.

  • Alignment 속성 값을 Center로 설정하여 녹색 펜으로 그린 ​​픽셀이 사각형 경계의 중앙에 오도록 지정합니다.

    다음 그림에서는 결과 사각형을 보여 줍니다.

    녹색 강조 표시가 있는 검은색 실선으로 그린 ​​사각형.

    Pen blackPen = new Pen(Color.FromArgb(255, 0, 0, 0), 1);
    Pen greenPen = new Pen(Color.FromArgb(255, 0, 255, 0), 10);
    greenPen.Alignment = PenAlignment.Center;
    
    // Draw the rectangle with the wide green pen.
    e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50);
    
    // Draw the rectangle with the thin black pen.
    e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50);
    
    Dim blackPen As New Pen(Color.FromArgb(255, 0, 0, 0), 1)
    Dim greenPen As New Pen(Color.FromArgb(255, 0, 255, 0), 10)
    greenPen.Alignment = PenAlignment.Center
    
    ' Draw the rectangle with the wide green pen.
    e.Graphics.DrawRectangle(greenPen, 10, 100, 50, 50)
    
    ' Draw the rectangle with the thin black pen.
    e.Graphics.DrawRectangle(blackPen, 10, 100, 50, 50)
    
    

inset 펜을 만들려면 다음을 수행합니다.

  • 앞의 코드 예제에서 세 번째 문을 다음과 같이 수정하여 녹색 펜의 맞춤을 변경합니다.

    greenPen.Alignment = PenAlignment.Inset;
    
    greenPen.Alignment = PenAlignment.Inset
    
    

    이제 다음 그림과 같이 넓은 녹색 선의 픽셀이 사각형 내부에 표시됩니다.

    내부에 넓은 녹색 선이 있는 검은색 선으로 그린 ​​사각형.

참고 항목