D2D1_RENDER_TARGET_PROPERTIES 구조체(d2d1.h)
렌더링 옵션(하드웨어 또는 소프트웨어), 픽셀 형식, DPI 정보, 원격 옵션 및 렌더링 대상에 대한 Direct3D 지원 요구 사항이 포함되어 있습니다.
구문
typedef struct D2D1_RENDER_TARGET_PROPERTIES {
D2D1_RENDER_TARGET_TYPE type;
D2D1_PIXEL_FORMAT pixelFormat;
FLOAT dpiX;
FLOAT dpiY;
D2D1_RENDER_TARGET_USAGE usage;
D2D1_FEATURE_LEVEL minLevel;
} D2D1_RENDER_TARGET_PROPERTIES;
멤버
type
렌더링 대상이 하드웨어 또는 소프트웨어 렌더링을 강제해야 하는지 여부를 지정하는 값입니다. D2D1_RENDER_TARGET_TYPE_DEFAULT 값은 렌더링 대상이 사용 가능한 경우 하드웨어 렌더링을 사용하도록 지정합니다. 그렇지 않으면 소프트웨어 렌더링을 사용합니다. WIC 비트맵 렌더링 대상은 하드웨어 렌더링을 지원하지 않습니다.
pixelFormat
렌더링 대상의 픽셀 형식 및 알파 모드입니다. D2D1::P ixelFormat 함수를 사용하여 Direct2D에서 픽셀 형식 및 알파 모드를 선택하도록 지정하는 픽셀 형식을 만들 수 있습니다. 각 렌더링 대상에서 지원하는 픽셀 형식 및 알파 모드 목록은 지원되는 픽셀 형식 및 알파 모드를 참조하세요.
dpiX
형식: FLOAT
렌더링 대상의 가로 DPI입니다. 기본 DPI를 사용하려면 dpiX 및 dpiY 를 0으로 설정합니다. 자세한 내용은 주의 섹션을 참조하세요.
dpiY
형식: FLOAT
렌더링 대상의 세로 DPI입니다. 기본 DPI를 사용하려면 dpiX 및 dpiY 를 0으로 설정합니다. 자세한 내용은 주의 섹션을 참조하세요.
usage
렌더링 대상을 원격으로 지정하는 방법과 GDI와 호환되어야 하는지 여부를 지정하는 값입니다. GDI와 호환되지 않고 사용 가능한 경우 Direct3D 명령 스트림 원격을 사용하는 렌더링 대상을 만들려면 D2D1_RENDER_TARGET_USAGE_NONE 로 설정합니다.
minLevel
하드웨어 렌더링에 필요한 최소 Direct3D 기능 수준을 지정하는 값입니다. 지정된 최소 수준을 사용할 수 없는 경우 형식 멤버가 D2D1_RENDER_TARGET_TYPE_DEFAULT 설정된 경우 렌더링 대상은 소프트웨어 렌더링을 사용합니다. 형식 이 D2D1_RENDER_TARGET_TYPE_HARDWARE 설정되면 렌더링 대상 만들기가 실패합니다. D2D1_FEATURE_LEVEL_DEFAULT 값은 Direct2D가 디바이스의 Direct3D 기능 수준이 적절한지 여부를 결정해야 했음을 나타냅니다. 이 필드는 ID2D1HwndRenderTarget 및 ID2D1DCRenderTarget 개체를 만들 때만 사용됩니다.
설명
렌더링 대상을 만들 때 이 구조를 사용하거나 ID2D1RenderTarget::IsSupported 메서드와 함께 사용하여 기존 렌더링 대상에서 지원하는 속성을 검사.
편의상 Direct2D는 D2D1_RENDER_TARGET_PROPERTIES 구조를 만들기 위한 D2D1::RenderTargetProperties 도우미 함수를 제공합니다. 대부분의 렌더링 대상에 대해 작동하는 D2D1_RENDER_TARGET_PROPERTIES 구조를 만드는 쉬운 방법은 매개 변수를 지정하지 않고 함수를 호출하는 것입니다. 이렇게 하면 필드가 기본값으로 설정된 D2D1_RENDER_TARGET_PROPERTIES 구조체가 만들어집니다. 자세한 내용은 D2D1::RenderTargetProperties를 참조하세요.
모든 렌더링 대상이 하드웨어 렌더링을 지원하는 것은 아닙니다. 목록은 렌더링 대상 개요를 참조하세요.
기본 DPI 설정 사용
기본 DPI를 사용하려면 dpiX 및 dpiY 를 0으로 설정합니다. 기본 DPI는 렌더링 대상에 따라 달라집니다.- 호환되는 렌더링 대상의 경우 기본 DPI는 부모 렌더링 대상의 DPI입니다.
- ID2D1HwndRenderTarget의 경우 기본 DPI는 렌더링 대상의 ID2D1Factory에서 가져온 시스템 DPI입니다.
- 다른 렌더링 대상의 경우 기본 DPI는 96입니다.
예제
다음 예제에서는 D2D1::RenderTargetProperties 함수를 사용하여 대부분의 렌더링 대상에 적합한 D2D1_RENDER_TARGET_PROPERTIES 구조를 만듭니다.
RECT rc;
GetClientRect(m_hwnd, &rc);
D2D1_SIZE_U size = D2D1::SizeU(
rc.right - rc.left,
rc.bottom - rc.top
);
// Create a Direct2D render target.
hr = m_pD2DFactory->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(),
D2D1::HwndRenderTargetProperties(m_hwnd, size),
&m_pRenderTarget
);
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
머리글 | d2d1.h |