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 |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour