본문 바로가기

카테고리 없음

DC(Device Context)

DC(Device Context)

 

 DC(Device Context)란 출력에 필요한 모든 정보를 가지는 데이터 구조체이며 GDI(Graphic Device Interface - 화면 처리와 그래픽을 담당)  모듈에 의해 관리된다. 문자열의 모양을 지정하는 폰트, 선의 색상과 굵기, 채움 무늬와 색상, 그리기 모드 등등이 모두 출력에 필요한 정보들이다.

 

 

 DC가 필요한 이유를 설명하자면 예를 들어 선을 그리는 경우 필요한 정보는 좌표만으로 그릴 수 있는게 아니다. 선의 굵기, 종류, 선의 색상 등 많은 정보가 필요하다. 이런 정보들을 한 곳에 모아 관리하는 것이 편리하고 효율적일 것이다. 그래서 DC에 모아 관리하는 것이며 그 다음으로는 좌표를 입력해 선을 긋는다고 했을때 그 좌표는 어디를 기준으로한 좌표일까? 바탕화면? 윈도우즈 프로그램은 혼자서 실행되지 않는다. 또한 화면을 독점적으로 사용하지 않는다. 그렇기 때문에 해당 프로그램의 윈도우를 기준으로 그려야하기 때문에 DC에는 기준에 대한 정보가 들어있다. 이에 추가로 원을 그린다고 가정했을 때 두개의 윈도우 창이 겹쳐져 있는경우 아래에 있는 창에 그렸다면 위에있는 윈도우창에 가려지는 부분은 그려지지 않아야할 것이다. 이런 복잡한 처리를 원 그리기 함수가 직접 한다는 것은 불가능하며 DC를 통해 이런 처리가 가능하다. DC는 현재 상황에서 어떤 영역이 출력 허가된 영역인가를 계산하여 허가된 영역에만 출력을 내보낸다.

 

 

- 출처 : 윈도우즈 API 정복(한빛 미디어)

 

※ 공부한 내용을 정리하였기때문에 출처와 내용이 다를 수 있습니다.