Partager via


Interface IDWriteBitmapRenderTarget (dwrite.h)

Encapsule une bitmap et un contexte d’appareil indépendants 32 bits, qui peuvent être utilisés pour le rendu des glyphes.

Héritage

L’interface IDWriteBitmapRenderTarget hérite de l’interface IUnknown. IDWriteBitmapRenderTarget a également les types de membres suivants :

Méthodes

L’interface IDWriteBitmapRenderTarget utilise ces méthodes.

 
IDWriteBitmapRenderTarget::D rawGlyphRun

Dessine une série de glyphes vers une cible bitmap à la position spécifiée.
IDWriteBitmapRenderTarget::GetCurrentTransform

Obtient la transformation qui mappe les coordonnées abstraites aux DIPs. Par défaut, il s’agit de la transformation d’identité. Notez que cela n’est pas lié à la transformation mondiale du contexte d’appareil sous-jacent.
IDWriteBitmapRenderTarget::GetMemoryDC

Obtient un handle pour le contexte du périphérique de mémoire.
IDWriteBitmapRenderTarget::GetPixelsPerDip

Obtient le nombre de pixels bitmap par DIP.
IDWriteBitmapRenderTarget::GetSize

Obtient les dimensions de la bitmap cible.
IDWriteBitmapRenderTarget::Resize

Redimensionne la bitmap.
IDWriteBitmapRenderTarget::SetCurrentTransform

Définit la transformation qui mappe la coordonnée abstraite à dips (pixel indépendant de l’appareil). Cela n’affecte pas la transformation mondiale du contexte d’appareil sous-jacent.
IDWriteBitmapRenderTarget::SetPixelsPerDip

Définit le nombre de pixels bitmap par DIP (pixel indépendant de l’appareil). Un DIP est de 1/96 pouce, donc cette valeur est le nombre si pixels par pouce divisé par 96.

Notes

Vous créez un IDWriteBitmapRenderTarget à l’aide de la méthode IDWriteGdiInterop::CreateBitmapRenderTarget , comme indiqué dans le code suivant.

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

IDWriteGdiInterop::CreateBitmapRenderTarget prend un handle sur un contrôleur de domaine, ainsi que la largeur et la hauteur souhaitées. Dans l’exemple ci-dessus, la largeur et la hauteur indiquées correspondent à la taille de la fenêtre rect.

Rendu

Une façon d’utiliser un IDWriteBitmapRenderTarget, pour le rendu vers une bitmap, consiste à implémenter une interface de renderer personnalisée dérivée de l’interface IDWriteTextRenderer . Dans votre implémentation de la méthode DrawGlyphRun de votre renderer personnalisé, appelez la méthode IDWriteBitmapRenderTarget::D rawGlyphRun pour dessiner les glyphes comme indiqué dans le code suivant.
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 encapsule et s’affiche dans une bitmap en mémoire. La fonction GetMemoryDC retourne un handle au contexte d’appareil de cette bitmap.

Spécifications

   
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête dwrite.h