Develop
그리기, 쓰기 등등 함수
작은이야기
2009. 10. 21. 15:04
점찍기
GetPixel()
화면의 특정 위치에 해당하는 점의 색을 얻는다.
SetPixel()
화면의 특정 위치에 원하는 색의 점을 찍으며, 원래의 점의 색을 리턴한다.
SetPixelV()
SetPixel() 함수와 기능은 동일하지만 원래의 점의 색을 리턴하지 않으므로 속도가 빠르다.
선그리기
MoveTo()
현재 위치를 옮긴다.
LineTo()
현재 위치로부터 특정 위치까지 선을 그린 후 현재 위치를 갱신한다.
도형그리기
Rectangle()
사각형을 그린다.
Ellipse()
사각형에 내접하는 타원을 그린다.
CWnd::GetClientRect()
함수 원형 : void GetClientRect(LPRECT lpRect)
CRect는 RECT를 상속받았기 때문에 업캐스팅으로 바로 사용할 수 있다.
텍스트함수
TextOut()
특정 위치에 문자열을 출력한다.
DrawText()
사각형을 기준으로 문자열을 출력한다.
SetTextColor()
문자의 색을 바꾼다.
SetBkColor()
문자의 배경색을 바꾼다.
SetTextAlign()
기준 위치에 대한 문자열의 정렬 방식을 정한다.
SetBkMode()
불투명과 투명을 설정.
매핑 모드
: 윈도우 운영체제는 정해진 규칙에 따라, 프로그래머가 사용하는 논리 단위를 장치 단위로 변환하는 방법
SetMapMode()
MM_TEXT
기본 매핑 모드, 논리 단위와 장치 단위가 1대 1로 대응된다.
오른쪽, 아래쪽이 +
MM_LOMETRIC, MM_HIMETRIC, MM_LOENGLISH, MM_HIENGLISH, MM_TWIPS
장치 종류에 관계없이 물리적 길이가 항상 일정하도록 설계
오른쪽, 위쪽이 +
MM_ISOTROPIC, MM_ANISOTROPIC
사용자가 논리단위와 장치단위의 변환 관계를 정의할 수 있다. (프로그래밍 가능한 모드)
CDC::SetWindowEXt(), CDC::SetViewportExt()
#종횡비를 유지하는가, 그렇지 않은가 차이.
종횡비를 유지하는 방식을 레터박스모드, 그렇지 않은 방식을 확장, 팬스캔 모드라 부른다.
좌표변환
논리 좌표를 장치 좌표로 또는 그 반대로 바꿔주는 함수.
void LPtoDP(), void DPtoLP()
스크린 좌표를 클라이언트 좌표로 또는 그 반대로 바꿔주는 함수.
void ScreenToClient(), void ClientToScreen()
GetPixel()
화면의 특정 위치에 해당하는 점의 색을 얻는다.
SetPixel()
화면의 특정 위치에 원하는 색의 점을 찍으며, 원래의 점의 색을 리턴한다.
SetPixelV()
SetPixel() 함수와 기능은 동일하지만 원래의 점의 색을 리턴하지 않으므로 속도가 빠르다.
선그리기
MoveTo()
현재 위치를 옮긴다.
LineTo()
현재 위치로부터 특정 위치까지 선을 그린 후 현재 위치를 갱신한다.
도형그리기
Rectangle()
사각형을 그린다.
Ellipse()
사각형에 내접하는 타원을 그린다.
CWnd::GetClientRect()
함수 원형 : void GetClientRect(LPRECT lpRect)
CRect는 RECT를 상속받았기 때문에 업캐스팅으로 바로 사용할 수 있다.
텍스트함수
TextOut()
특정 위치에 문자열을 출력한다.
DrawText()
사각형을 기준으로 문자열을 출력한다.
SetTextColor()
문자의 색을 바꾼다.
SetBkColor()
문자의 배경색을 바꾼다.
SetTextAlign()
기준 위치에 대한 문자열의 정렬 방식을 정한다.
SetBkMode()
불투명과 투명을 설정.
매핑 모드
: 윈도우 운영체제는 정해진 규칙에 따라, 프로그래머가 사용하는 논리 단위를 장치 단위로 변환하는 방법
SetMapMode()
MM_TEXT
기본 매핑 모드, 논리 단위와 장치 단위가 1대 1로 대응된다.
오른쪽, 아래쪽이 +
MM_LOMETRIC, MM_HIMETRIC, MM_LOENGLISH, MM_HIENGLISH, MM_TWIPS
장치 종류에 관계없이 물리적 길이가 항상 일정하도록 설계
오른쪽, 위쪽이 +
MM_ISOTROPIC, MM_ANISOTROPIC
사용자가 논리단위와 장치단위의 변환 관계를 정의할 수 있다. (프로그래밍 가능한 모드)
CDC::SetWindowEXt(), CDC::SetViewportExt()
#종횡비를 유지하는가, 그렇지 않은가 차이.
종횡비를 유지하는 방식을 레터박스모드, 그렇지 않은 방식을 확장, 팬스캔 모드라 부른다.
좌표변환
논리 좌표를 장치 좌표로 또는 그 반대로 바꿔주는 함수.
void LPtoDP(), void DPtoLP()
스크린 좌표를 클라이언트 좌표로 또는 그 반대로 바꿔주는 함수.
void ScreenToClient(), void ClientToScreen()