다음을 통해 공유


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