IDWriteBitmapRenderTarget 인터페이스(dwrite.h)
문자 모양을 렌더링하는 데 사용할 수 있는 32비트 디바이스 독립적 비트맵 및 디바이스 컨텍스트를 캡슐화합니다.
상속
IDWriteBitmapRenderTarget 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IDWriteBitmapRenderTarget 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IDWriteBitmapRenderTarget 인터페이스에는 이러한 메서드가 있습니다.
IDWriteBitmapRenderTarget::D rawGlyphRun 지정된 위치에 있는 비트맵 대상에 문자 모양 실행을 그립니다. |
IDWriteBitmapRenderTarget::GetCurrentTransform 추상 좌표를 DIP에 매핑하는 변환을 가져옵니다. 기본적으로 ID 변환입니다. 이는 기본 디바이스 컨텍스트의 월드 변환과 관련이 없습니다. |
IDWriteBitmapRenderTarget::GetMemoryDC 메모리 디바이스 컨텍스트에 대한 핸들을 가져옵니다. |
IDWriteBitmapRenderTarget::GetPixelsPerDip DIP당 비트맵 픽셀 수를 가져옵니다. |
IDWriteBitmapRenderTarget::GetSize 대상 비트맵의 차원을 가져옵니다. |
IDWriteBitmapRenderTarget::Resize 비트맵의 크기를 조정합니다. |
IDWriteBitmapRenderTarget::SetCurrentTransform 추상 좌표를 DIP(디바이스 독립적 픽셀)에 매핑하는 변환을 설정합니다. 이는 기본 디바이스 컨텍스트의 월드 변환에 영향을 주지 않습니다. |
IDWriteBitmapRenderTarget::SetPixelsPerDip DIP당 비트맵 픽셀 수(디바이스 독립적 픽셀)를 설정합니다. DIP는 1/96인치이므로 인치당 픽셀을 96으로 나눈 경우 이 값은 숫자입니다. |
설명
다음 코드와 같이 IDWriteGdiInterop::CreateBitmapRenderTarget 메서드를 사용하여 IDWriteBitmapRenderTarget을 만듭니다.
if (SUCCEEDED(hr))
{
hr = g_pGdiInterop->CreateBitmapRenderTarget(hdc, r.right, r.bottom, &g_pBitmapRenderTarget);
}
IDWriteGdiInterop::CreateBitmapRenderTarget 은 DC 및 원하는 너비와 높이에 대한 핸들을 사용합니다. 위의 예제에서 지정된 너비와 높이는 창 사각형의 크기입니다.
렌더링
IDWriteBitmapRenderTarget을 사용하여 비트맵으로 렌더링하는 한 가지 방법은 IDWriteTextRenderer 인터페이스에서 파생된 사용자 지정 렌더러 인터페이스를 구현하는 것입니다. 사용자 지정 렌더러의 DrawGlyphRun 메서드 구현에서 IDWriteBitmapRenderTarget::D rawGlyphRun 메서드를 호출하여 다음 코드와 같이 문자 모양을 그립니다.STDMETHODIMP GdiTextRenderer::DrawGlyphRun(
__maybenull void* clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_MEASURING_MODE measuringMode,
__in DWRITE_GLYPH_RUN const* glyphRun,
__in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
IUnknown* clientDrawingEffect
)
{
HRESULT hr = S_OK;
// Pass on the drawing call to the render target to do the real work.
RECT dirtyRect = {0};
hr = pRenderTarget_->DrawGlyphRun(
baselineOriginX,
baselineOriginY,
measuringMode,
glyphRun,
pRenderingParams_,
RGB(0,200,255),
&dirtyRect
);
return hr;
}
IDWriteBitmapRenderTarget은 메모리의 비트맵을 캡슐화하고 렌더링합니다. GetMemoryDC 함수는 이 비트맵의 디바이스 컨텍스트에 대한 핸들을 반환합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | dwrite.h |