VB.NET 2008/VB - 그래픽

그래픽 - 선과 곡선의 앤티 앨리어싱

본클라쓰 2012. 4. 5. 11:44

 

GDI+를 사용하여 선을 그리는 경우 선의 시작점과 끝점을 지정하지만 선의 개별 픽셀에 대한 정보는 제공할 필요가 없다. GDI+는 디스플레이 드라이버 소프트웨어와 함께 작동하여 특정 디스플레이 장치에서 선을 표시하기 위해 설정할 픽셀을 결정한다.

 

 

 

앨리어싱

 

점 (4,2)에서 점(16,10)까지의 빨강 직선을 생각해 보자. 좌표계의 원점이 왼쪽 위 모퉁이에 있고 단위가 픽셀이라고 가정한다. 또한 x축은 오른쪽을 향하고 y축은 아래를 향한다고 가정한다. 다음 그림은 다중 색의 배경에 그려진 빨강 선을 확대해서 표시한 것이다.

 

 

선을 렌더링하는 데 사용되는 빨강 픽셀은 불투명하다. 선에 부분적으로 투명한 픽셀은 없다. 이러한 유형의 선 렌더링을 사용하면 선이 거칠어 보이고 약각 계단처럼 보인다. 선을 계단식으로 표현하는 기술을 앨리어싱이라고 한다. 여기서 계단 모양이 이론적인 선의 앨리어싱이다.

 

 

 

앤티 앨리어싱

 

선을 렌더링하는 더 정교한 기술은 불투명한 픽셀과 함께 부분적으로 투명한 픽셀을 사용하는 것이다. 픽셀은 선에서 어느 정도 가까이 있는지에 따라 순수한 빨강 또는 배경색과 빨강의 혼합으로 설정된다. 이러한 유형의 렌더링을 앤티 앨리어싱이라 하며 그 결과는 선이 사람 눈에 더 매끄럽게 보인다. 다음 그림은 특정 픽셀이 앤티 앨리어싱 선을 나타내기 위해 배경색과 혼합되는 방법을 보여준다.

 

 

앤티 앨리어싱을 사용하는 선과 곡선을 그리려면 Graphics 클래스의 인스턴스를 만들고 SmoothingMode 속성을 AntiAlias 또는 HighQuality로 설정한다. 그런 다음 같은 Graphics 클래스의 그리기 메서드 중 하나를 호출한다.

 

myGraphics.SmoothingMode = SmoothingMode.AntiAlias
myGraphics.DrawLine(myPen, 0, 0, 12, 8)

 

 

출처) http://msdn.microsoft.com/ko-kr/library/9t6sa8s9(v=vs.90).aspx