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 |