방법: 그라데이션에 감마 보정 적용

브러시의 GammaCorrection 속성을 true로 설정하여 선형 그라데이션 브러시에 감마 보정을 사용하도록 설정할 수 있습니다. GammaCorrection 속성을 false로 설정하여 감마 수정을 사용하지 않도록 설정할 수 있습니다. 감마 수정은 기본적으로 사용하지 않도록 설정됩니다.

예제

다음 예제는 컨트롤의 Paint 이벤트 처리기에서 호출되는 메서드입니다. 이 예제에서는 선형 그라데이션 브러시를 만들고 해당 브러시를 사용하여 두 개의 사각형을 채웁니다. 첫 번째 사각형은 감마 보정 없이 채워지고 두 번째 사각형은 감마 보정으로 채워집니다.

다음 그림에서는 채워진 두 사각형을 보여 줍니다. 감마 보정이 없는 위쪽 사각형은 중간에 어둡게 나타납니다. 감마 보정이 있는 아래쪽 사각형은 더 균일한 강도를 갖는 것처럼 보입니다.

감마 보정이 있거나 없는 두 개의 그라데이션이 채워진 사각형.

public void FillTwoRectangles(PaintEventArgs e)
{
   LinearGradientBrush linGrBrush = new LinearGradientBrush(
       new Point(0, 10),
       new Point(200, 10),
       Color.Red,
       Color.Blue);

    e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50);
    linGrBrush.GammaCorrection = true;
    e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50);
}
Dim linGrBrush As New LinearGradientBrush( _
   New Point(0, 10), _
   New Point(200, 10), _
   Color.Red, _
   Color.Blue)

e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50)
linGrBrush.GammaCorrection = True
e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50)

코드 컴파일

앞의 예제는 Windows forms에서 사용하도록 설계되었으며 PaintEventArgs 이벤트 처리기의 매개 변수인 ePaint가 필요합니다.

참고 항목