날마다 새롭게 또 날마다 새롭게

DC (Device Context) 개념 본문

프로그래밍/API / MFC

DC (Device Context) 개념

아무유 2011. 12. 6. 00:10
 DC란 출력에 필요한 모든 정보를 가지는 데이터 구조체이다.
예를 들어 화면에 선을 긋는 LineTo라는 함수를 생각해 보자. 선을 그리기 위해서는 시작점과 끝점, 선의 굵기, 모양, 색상, 선을 그리는 모드, 좌표값을 해석하는 방법 등의 정보가 필요하다. 이런 정보들을 모두 인수로 넘긴다면 LineTo 함수는 다음과 같은 모양이 될 것이다.
LineTo(Start X, Start Y, End X, End Y, Color, Width, Shape, ROP, mode,....)
 이렇게 선의 특성을 결정하는 값들을 일일이 인수로 전달하는 것보다는 한 곳에 모아두고 그 값들을 사용하는 방법이 훨씬 더 편리하고 효율적이다. 그래서 이런 정보들을 모두 모아 DC라는 것을 만들고 그리기 함수에서는 DC의 핸들을 넘겨받아 그리기에 필요한 추가 정보는 모두 DC에 정의되어 있는 값을 사용한다. 이런 방식을 사용하면 LineTo 함수는 다음과 같이 간단해질 수 있다.
LineTo(hDC,X,Y)
 
 

 
Comments