다음을 통해 공유


불투명 및 반투명 선 그리기

선을 그릴 때 Pen 개체의 주소를 Graphics 클래스의 DrawLine 메서드에 전달해야 합니다. 생성자의 매개 변수 중 하나는 Color 개체입니다. 불투명 선을 그리려면 색의 알파 구성 요소를 255로 설정합니다. 반투명 선을 그리려면 알파 구성 요소를 1에서 254 사이의 임의 값으로 설정합니다.

배경 위에 반투명 선을 그리면 선 색이 배경색과 혼합됩니다. 알파 구성 요소는 선과 배경색이 혼합되는 방식을 지정합니다. 0에 가까운 알파 값은 배경색에 더 많은 가중치를 두고 255에 가까운 알파 값은 선 색에 더 많은 무게를 줍니다.

다음 예제에서는 이미지를 그린 다음 이미지를 배경으로 사용하는 세 개의 선을 그립니다. 첫 번째 선은 알파 구성 요소 255를 사용하므로 불투명합니다. 두 번째 및 세 번째 선은 알파 구성 요소 128을 사용하므로 반투명합니다. 선을 통과하는 배경 이미지를 볼 수 있습니다. Graphics::SetCompositingQuality를 호출하면 세 번째 줄에 대한 혼합이 감마 수정과 함께 수행됩니다.

Image image(L"Texture1.jpg");
graphics.DrawImage(&image, 10, 5, image.GetWidth(), image.GetHeight());
Pen opaquePen(Color(255, 0, 0, 255), 15);
Pen semiTransPen(Color(128, 0, 0, 255), 15);
graphics.DrawLine(&opaquePen, 0, 20, 100, 20);
graphics.DrawLine(&semiTransPen, 0, 40, 100, 40);
graphics.SetCompositingQuality(CompositingQualityGammaCorrected);
graphics.DrawLine(&semiTransPen, 0, 60, 100, 60);

다음 그림에서는 이전 코드의 출력을 보여 줍니다.

3개의 넓은 선으로 오버레이된 이미지를 보여 주는 일러스트레이션: 불투명, 약간 투명한 이미지, 매우 투명한 이미지