다음을 통해 공유


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

렌더링 대상이 하드웨어 또는 소프트웨어 렌더링을 강제해야 하는지 여부를 지정하는 값입니다. D2D1_RENDER_TARGET_TYPE_DEFAULT 값은 렌더링 대상이 사용 가능한 경우 하드웨어 렌더링을 사용하도록 지정합니다. 그렇지 않으면 소프트웨어 렌더링을 사용합니다. WIC 비트맵 렌더링 대상은 하드웨어 렌더링을 지원하지 않습니다.

pixelFormat

형식: D2D1_PIXEL_FORMAT

렌더링 대상의 픽셀 형식 및 알파 모드입니다. D2D1::P ixelFormat 함수를 사용하여 Direct2D에서 픽셀 형식 및 알파 모드를 선택하도록 지정하는 픽셀 형식을 만들 수 있습니다. 각 렌더링 대상에서 지원하는 픽셀 형식 및 알파 모드 목록은 지원되는 픽셀 형식 및 알파 모드를 참조하세요.

dpiX

형식: FLOAT

렌더링 대상의 가로 DPI입니다. 기본 DPI를 사용하려면 dpiXdpiY 를 0으로 설정합니다. 자세한 내용은 주의 섹션을 참조하세요.

dpiY

형식: FLOAT

렌더링 대상의 세로 DPI입니다. 기본 DPI를 사용하려면 dpiXdpiY 를 0으로 설정합니다. 자세한 내용은 주의 섹션을 참조하세요.

usage

형식: D2D1_RENDER_TARGET_USAGE

렌더링 대상을 원격으로 지정하는 방법과 GDI와 호환되어야 하는지 여부를 지정하는 값입니다. GDI와 호환되지 않고 사용 가능한 경우 Direct3D 명령 스트림 원격을 사용하는 렌더링 대상을 만들려면 D2D1_RENDER_TARGET_USAGE_NONE 로 설정합니다.

minLevel

형식: D2D1_FEATURE_LEVEL

하드웨어 렌더링에 필요한 최소 Direct3D 기능 수준을 지정하는 값입니다. 지정된 최소 수준을 사용할 수 없는 경우 형식 멤버가 D2D1_RENDER_TARGET_TYPE_DEFAULT 설정된 경우 렌더링 대상은 소프트웨어 렌더링을 사용합니다. 형식 D2D1_RENDER_TARGET_TYPE_HARDWARE 설정되면 렌더링 대상 만들기가 실패합니다. D2D1_FEATURE_LEVEL_DEFAULT 값은 Direct2D가 디바이스의 Direct3D 기능 수준이 적절한지 여부를 결정해야 했음을 나타냅니다. 이 필드는 ID2D1HwndRenderTargetID2D1DCRenderTarget 개체를 만들 때만 사용됩니다.

설명

렌더링 대상을 만들 때 이 구조를 사용하거나 ID2D1RenderTarget::IsSupported 메서드와 함께 사용하여 기존 렌더링 대상에서 지원하는 속성을 검사.

편의상 Direct2D는 D2D1_RENDER_TARGET_PROPERTIES 구조를 만들기 위한 D2D1::RenderTargetProperties 도우미 함수를 제공합니다. 대부분의 렌더링 대상에 대해 작동하는 D2D1_RENDER_TARGET_PROPERTIES 구조를 만드는 쉬운 방법은 매개 변수를 지정하지 않고 함수를 호출하는 것입니다. 이렇게 하면 필드가 기본값으로 설정된 D2D1_RENDER_TARGET_PROPERTIES 구조체가 만들어집니다. 자세한 내용은 D2D1::RenderTargetProperties를 참조하세요.

모든 렌더링 대상이 하드웨어 렌더링을 지원하는 것은 아닙니다. 목록은 렌더링 대상 개요를 참조하세요.

기본 DPI 설정 사용

기본 DPI를 사용하려면 dpiXdpiY 를 0으로 설정합니다. 기본 DPI는 렌더링 대상에 따라 달라집니다.
  • 호환되는 렌더링 대상의 경우 기본 DPI는 부모 렌더링 대상의 DPI입니다.
  • ID2D1HwndRenderTarget의 경우 기본 DPI는 렌더링 대상의 ID2D1Factory에서 가져온 시스템 DPI입니다.
  • 다른 렌더링 대상의 경우 기본 DPI는 96입니다.
기본 DPI 설정을 사용하려면 dpiXdpiY 를 모두 0으로 설정해야 합니다. 하나의 값만 0으로 설정하면 렌더링 대상을 만들려고 할 때 E_INVALIDARG 오류가 발생합니다.

예제

다음 예제에서는 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

추가 정보

ID2D1RenderTarget::IsSupported

렌더링 대상 개요