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 |