Interfaccia IDWriteBitmapRenderTarget (dwrite.h)

Incapsula un contesto bitmap e dispositivo indipendente dal dispositivo a 32 bit, che può essere usato per il rendering degli glifi.

Ereditarietà

L'interfaccia IDWriteBitmapRenderTarget eredita dall'interfaccia IUnknown . IDWriteBitmapRenderTarget include anche questi tipi di membri:

Metodi

L'interfaccia IDWriteBitmapRenderTarget include questi metodi.

 
IDWriteBitmapRenderTarget::D rawGlyphRun

Disegna un'esecuzione di glifi a una destinazione bitmap nella posizione specificata.
IDWriteBitmapRenderTarget::GetCurrentTransform

Ottiene la trasformazione che esegue il mapping delle coordinate astratte agli indirizzi DIP. Per impostazione predefinita, si tratta della trasformazione dell'identità. Si noti che questo non è correlato alla trasformazione mondiale del contesto del dispositivo sottostante.
IDWriteBitmapRenderTarget::GetMemoryDC

Ottiene un handle nel contesto del dispositivo di memoria.
IDWriteBitmapRenderTarget::GetPixelsPerDip

Ottiene il numero di pixel bitmap per DIP.
IDWriteBitmapRenderTarget::GetSize

Ottiene le dimensioni della bitmap di destinazione.
IDWriteBitmapRenderTarget::Resize

Ridimensiona la bitmap.
IDWriteBitmapRenderTarget::SetCurrentTransform

Imposta la trasformazione che esegue il mapping della coordinata astratta agli indirizzi DIP (pixel indipendenti dal dispositivo). Ciò non influisce sulla trasformazione mondiale del contesto del dispositivo sottostante.
IDWriteBitmapRenderTarget::SetPixelsPerDip

Imposta il numero di pixel bitmap per DIP (pixel indipendenti dal dispositivo). Un DIP è 1/96 pollici, quindi questo valore è il numero se pixel per pollice diviso per 96.

Commenti

Si crea un metodo IDWriteBitmapRenderTarget usando il metodo IDWriteGdiInterop::CreateBitmapRenderTarget , come illustrato nel codice seguente.

if (SUCCEEDED(hr))
{
    hr = g_pGdiInterop->CreateBitmapRenderTarget(hdc, r.right, r.bottom, &g_pBitmapRenderTarget);
}

IDWriteGdiInterop::CreateBitmapRenderTarget accetta un handle in un controller di dominio e la larghezza e l'altezza desiderati. Nell'esempio precedente, la larghezza e l'altezza specificata sono le dimensioni della finestra retta.

Rendering

Un modo per usare un IDWriteBitmapRenderTarget, per il rendering in una bitmap, consiste nell'implementare un'interfaccia renderer personalizzata derivata dall'interfaccia IDWriteTextRenderer . Nell'implementazione del metodo DrawGlyphRun del renderer personalizzato chiamare il metodo IDWriteBitmapRenderTarget::D rawGlyphRun per disegnare i glifi, come illustrato nel codice seguente.
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 incapsula e esegue il rendering in una bitmap in memoria. La funzione GetMemoryDC restituisce un handle al contesto del dispositivo di questa bitmap.

Requisiti

   
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione dwrite.h