SetGraphicsMode 함수(wingdi.h)

SetGraphicsMode 함수는 지정된 디바이스 컨텍스트에 대한 그래픽 모드를 설정합니다.

구문

int SetGraphicsMode(
  [in] HDC hdc,
  [in] int iMode
);

매개 변수

[in] hdc

디바이스 컨텍스트에 대한 핸들입니다.

[in] iMode

그래픽 모드입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
GM_COMPATIBLE
16비트 Windows와 호환되는 그래픽 모드를 설정합니다. 이것이 기본 모드입니다. 이 값을 지정하는 경우 애플리케이션은 창 및 뷰포트 익스텐트 및 원본을 설정하는 함수를 호출해야만 세계-디바이스 변환을 수정할 수 있지만 SetWorldTransform 또는 ModifyWorldTransform사용하면 안 됩니다. 이러한 함수에 대한 호출은 실패합니다. 창 및 뷰포트 익스텐트 및 원본을 설정하는 함수의 예로 SetViewportExtExSetWindowExtEx가 있습니다.
GM_ADVANCED
월드 변환을 허용하는 고급 그래픽 모드를 설정합니다. 애플리케이션이 지정된 디바이스 컨텍스트에 대한 월드 변환을 설정하거나 수정할 경우 이 값을 지정해야 합니다. 이 모드에서는 텍스트 출력을 포함한 모든 그래픽이 디바이스 컨텍스트에 지정된 세계-디바이스 변환을 완전히 준수합니다.

반환 값

함수가 성공하면 반환 값은 이전 그래픽 모드입니다.

함수가 실패하면 반환 값은 0입니다.

설명

그래픽 모드에 따라 그래픽 출력이 다른 세 가지 영역이 있습니다.

  1. 텍스트 출력: GM_COMPATIBLE 모드에서 TrueType(또는 벡터 글꼴) 텍스트 출력은 DC의 세계-디바이스 변환과 관련하여 래스터 글꼴 텍스트 출력과 거의 동일한 방식으로 작동합니다. TrueType 텍스트는 그래픽의 나머지 부분이 x 또는 y 축에서 대칭 이동되더라도 항상 왼쪽에서 오른쪽 및 오른쪽 위로 기록됩니다. TrueType(또는 벡터 글꼴) 텍스트의 높이만 조정됩니다. GM_COMPATIBLE 모드에서 가로가 아닌 텍스트를 작성하는 유일한 방법은 이 디바이스 컨텍스트에서 선택한 논리 글꼴에 대해 0이 아닌 이스케이프 및 방향을 지정하는 것입니다.

    GM_ADVANCED 모드에서 TrueType(또는 벡터 글꼴) 텍스트 출력은 디바이스 컨텍스트에서 세계-디바이스 변환을 완전히 준수합니다. 래스터 글꼴에는 매우 제한된 변환 기능만 있습니다(일부 정수 요소로 확장). GDI(그래픽 디바이스 인터페이스)는 사소한 변환을 위해 래스터 글꼴로 가능한 최상의 출력을 생성하려고 합니다.

  2. 사각형 제외: 기본 GM_COMPATIBLE 그래픽 모드가 설정된 경우 시스템은 사각형을 그릴 때 맨 아래와 오른쪽 가장자리를 제외합니다.

    애플리케이션이 오른쪽 아래 포함 사각형을 그리려는 경우 GM_ADVANCED 그래픽 모드가 필요합니다.

  3. 호 그리기: 기본 GM_COMPATIBLE 그래픽 모드가 설정된 경우 GDI는 디바이스 공간에서 현재 호 방향을 사용하여 호를 그립니다. 이 규칙을 사용하면 아크는 x 또는 y 축을 따라 대칭 이동해야 하는 페이지-디바이스 변환을 존중하지 않습니다.

    GM_ADVANCED 그래픽 모드가 설정된 경우 GDI는 항상 논리 공간에서 시계 반대 방향으로 호를 그립니다. 이는 GM_ADVANCED 그래픽 모드에서 아크 제어점과 호 자체가 디바이스 컨텍스트의 세계-디바이스 변환을 완전히 존중한다는 문과 동일합니다.

예제

예제는 좌표 공간 및 변환 사용을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wingdi.h(Windows.h 포함)
라이브러리 Gdi32.lib
DLL Gdi32.dll

추가 정보

좌표 공간 및 변환 함수

좌표 공간 및 변환 개요

CreateDC

GetArcDirection

Getdc

GetGraphicsMode

ModifyWorldTransform

SetArcDirection

SetViewportExtEx

SetViewportExtent

SetWindowExtEx

SetWindowExtent

SetWorldTransform