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 |