다음을 통해 공유


방법: 불투명 및 반투명 브러시를 사용하여 그리기

도형을 채우려면 Brush 개체를 Graphics 클래스의 채우기 메서드 중 하나에 전달해야 합니다. Color 개체는 SolidBrush 생성자의 매개 변수 중 하나입니다. 불투명 도형을 채우려면 색의 알파 구성 요소를 255로 설정하고 반투명 도형을 채우려면 1에서 254 사이의 적절한 값으로 설정합니다.

반투명 도형을 채우면 도형의 색이 배경색과 혼합됩니다. 알파 구성 요소에는 도형과 배경의 색을 혼합하는 방식을 지정합니다. 알파 값이 0에 가까우면 배경색에 대한 비중이 높고 255에 가까우면 도형 색에 대한 비중이 높습니다.

예제

아래 예제에서는 비트맵을 그린 다음 비트맵과 혼합되는 세 개의 타원을 채웁니다. 첫 번째 타원의 알파 구성 요소는 255이므로 불투명 타원이 됩니다. 두 번째와 세 번째 타원의 알파 구성 요소는 128이므로 반투명 타원이 됩니다. 따라서 타원을 통해 배경 이미지를 볼 수 있습니다. CompositingQuality 속성을 설정하는 호출을 실행하면 감마 보정을 병행하여 세 번째 타원이 혼합됩니다.

다음 그림에서는 아래 코드를 실행한 결과를 보여 줍니다.

불투명 및 반투명

        Dim bitmap As New Bitmap("Texture1.jpg")
        e.Graphics.DrawImage(bitmap, 50, 50, bitmap.Width, bitmap.Height)

        Dim opaqueBrush As New SolidBrush(Color.FromArgb(255, 0, 0, 255))
        Dim semiTransBrush As New SolidBrush(Color.FromArgb(128, 0, 0, 255))

        e.Graphics.FillEllipse(opaqueBrush, 35, 45, 45, 30)
        e.Graphics.FillEllipse(semiTransBrush, 86, 45, 45, 30)

        e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected
        e.Graphics.FillEllipse(semiTransBrush, 40, 90, 86, 30)

Bitmap bitmap = new Bitmap("Texture1.jpg");
e.Graphics.DrawImage(bitmap, 50, 50, bitmap.Width, bitmap.Height);

SolidBrush opaqueBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 255));
SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(128, 0, 0, 255));

e.Graphics.FillEllipse(opaqueBrush, 35, 45, 45, 30);
e.Graphics.FillEllipse(semiTransBrush, 86, 45, 45, 30);

e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected;
e.Graphics.FillEllipse(semiTransBrush, 40, 90, 86, 30);

코드 컴파일

앞의 예제는 Windows Forms에서 사용해야 하며 PaintEventHandler의 매개 변수인 PaintEventArgs e를 필요로 합니다.

참고 항목

작업

방법: 컨트롤에 투명한 배경 적용

방법: 불투명 및 반투명 선 그리기

방법: 투명한 Windows Forms 만들기

기타 리소스

Windows Forms의 그래픽 및 그리기

선 및 채우기 알파 혼합