Share via


ID2D1Factory::CreateDCRenderTarget 메서드(d2d1.h)

Windows GDI(그래픽 디바이스 인터페이스) 디바이스 컨텍스트에 그리는 렌더링 대상을 만듭니다.

구문

HRESULT CreateDCRenderTarget(
  [in]  const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
  [out] ID2D1DCRenderTarget                 **dcRenderTarget
);

매개 변수

[in] renderTargetProperties

형식: const D2D1_RENDER_TARGET_PROPERTIES*

렌더링 모드, 픽셀 형식, 원격 옵션, DPI 정보 및 하드웨어 렌더링에 필요한 최소 DirectX 지원입니다. 디바이스 컨텍스트(DC) 렌더링 대상이 GDI에서 작동하도록 하려면 DXGI 형식을 DXGI_FORMAT_B8G8R8A8_UNORM , 알파 모드를 D2D1_ALPHA_MODE_PREMULTIPLIED 또는 D2D1_ALPHA_MODE_IGNORE 설정합니다. 픽셀 형식에 대한 자세한 내용은 지원되는 픽셀 형식 및 알파 모드를 참조하세요.

[out] dcRenderTarget

형식: ID2D1DCRenderTarget**

이 메서드가 반환되면 dcRenderTarget 에는 메서드에서 만든 ID2D1DCRenderTarget에 대한 포인터의 주소가 포함됩니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그렇지 않으면 HRESULT 오류 코드를 반환합니다.

설명

DC 렌더링 대상을 사용하여 렌더링하려면 먼저 렌더링 대상의 BindDC 메서드를 사용하여 GDI DC와 연결해야 합니다. 각 DC에 대해 그리고 그릴 영역의 크기가 변경되면 이 작업을 수행합니다.

DC 렌더링 대상이 GDI에서 작동하도록 하려면 렌더링 대상의 DXGI 형식을 DXGI_FORMAT_B8G8R8A8_UNORM , 알파 모드를 D2D1_ALPHA_MODE_PREMULTIPLIED 또는 D2D1_ALPHA_MODE_IGNORE 설정합니다.

애플리케이션은 렌더링 대상을 한 번 만들고 애플리케이션의 수명 동안 또는 렌더링 대상의 EndDraw 메서드가 D2DERR_RECREATE_TARGET 오류를 반환할 때까지 이를 유지해야 합니다. 이 오류가 발생하면 렌더링 대상(및 만든 리소스)을 다시 만듭니다.

예제

다음 코드는 DC 렌더링 대상을 만듭니다.

// Create a DC render target.
D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(
    D2D1_RENDER_TARGET_TYPE_DEFAULT,
    D2D1::PixelFormat(
        DXGI_FORMAT_B8G8R8A8_UNORM,
        D2D1_ALPHA_MODE_IGNORE),
    0,
    0,
    D2D1_RENDER_TARGET_USAGE_NONE,
    D2D1_FEATURE_LEVEL_DEFAULT
    );

hr = m_pD2DFactory->CreateDCRenderTarget(&props, &m_pDCRT);

앞의 코드에서 m_pD2DFactoryID2D1Factory에 대한 포인터이고 m_pDCRTID2D1DCRenderTarget에 대한 포인터입니다.

다음 코드 예제에서는 ID2D1DCRenderTarget에 DC를 바인딩합니다.

HRESULT DemoApp::OnRender(const PAINTSTRUCT &ps)
{

// Get the dimensions of the client drawing area.
GetClientRect(m_hwnd, &rc);

// Bind the DC to the DC render target.
hr = m_pDCRT->BindDC(ps.hdc, &rc);

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트가 포함된 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 d2d1.h
라이브러리 D2d1.lib
DLL D2d1.dll

추가 정보

Direct2D 및 GDI 상호 운용 개요

ID2D1Factory

지원되는 픽셀 형식 및 알파 모드