IDWriteFactory ::CreateGlyphRunAnalysis, méthode (dwrite.h)
Crée un objet d’analyse d’exécution de glyphes, qui encapsule les informations utilisées pour afficher une exécution de glyphe.
Syntaxe
HRESULT CreateGlyphRunAnalysis(
[in] DWRITE_GLYPH_RUN const *glyphRun,
FLOAT pixelsPerDip,
[in, optional] DWRITE_MATRIX const *transform,
DWRITE_RENDERING_MODE renderingMode,
DWRITE_MEASURING_MODE measuringMode,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
[out] IDWriteGlyphRunAnalysis **glyphRunAnalysis
);
Paramètres
[in] glyphRun
Type : const DWRITE_GLYPH_RUN*
Structure qui contient les propriétés de l’exécution du glyphe (face de police, avances, etc.).
pixelsPerDip
Type : FLOAT
Nombre de pixels physiques par DIP (pixel indépendant de l’appareil). Par exemple, si vous effectuez un rendu sur une bitmap de 96 PPP, pixelsPerDip est 1. Si vous effectuez un rendu sur une bitmap de 120 PPP, pixelsPerDip est 1,25.
[in, optional] transform
Type : const DWRITE_MATRIX*
Transformation facultative appliquée aux glyphes et à leurs positions. Cette transformation est appliquée après que la mise à l’échelle a spécifié les paramètres emSize et pixelsPerDip.
renderingMode
Type : DWRITE_RENDERING_MODE
Valeur qui spécifie le mode de rendu, qui doit être l’un des modes de rendu raster (c’est-à-dire, pas par défaut et non plan).
measuringMode
Type : DWRITE_MEASURING_MODE
Spécifie le mode de mesure à utiliser avec les glyphes.
baselineOriginX
Type : FLOAT
Position horizontale (coordonnée X) de l’origine de la ligne de base, en DIPs.
baselineOriginY
Type : FLOAT
Position verticale (coordonnée Y) de l’origine de la ligne de base, dans les adresses DIPs.
[out] glyphRunAnalysis
Type : IDWriteGlyphRunAnalysis**
Lorsque cette méthode est retournée, contient l’adresse d’un pointeur vers l’objet d’analyse d’exécution de glyphe nouvellement créé.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
L’objet d’analyse de l’exécution de glyphes contient les résultats de l’analyse de l’exécution des glyphes, y compris les positions de tous les glyphes et les références à tous les glyphes rastérisés dans le cache de polices.
Exemples
L’exemple de code suivant montre comment créer un objet d’analyse d’exécution de glyphes. Dans cet exemple, une exécution de glyphe vide est utilisée.
HRESULT CreateGlyphRunAnalysis(IDWriteFontFace *pFontFace, IDWriteGlyphRunAnalysis **ppGlyphRunAnalysis)
{
HRESULT hr = S_OK;
IDWriteFactory* pDWriteFactory = NULL;
// Create the DirectWrite factory.
hr = DWriteCreateFactory(
DWRITE_FACTORY_TYPE_SHARED,
__uuidof(IDWriteFactory),
reinterpret_cast<IUnknown**>(&pDWriteFactory)
);
DWRITE_GLYPH_RUN emptyGlyphRun = { 0 };
UINT16 glyphIndex = 0;
emptyGlyphRun.fontFace = pFontFace;
emptyGlyphRun.glyphIndices = &glyphIndex;
emptyGlyphRun.glyphCount = 0;
emptyGlyphRun.fontEmSize = 12;
IDWriteGlyphRunAnalysis* pGlyphRunAnalysis = NULL;
if (SUCCEEDED(hr))
{
hr = pDWriteFactory->CreateGlyphRunAnalysis(
&emptyGlyphRun,
1.0f, // pixelsPerDip,
NULL, // transform,
DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC,
DWRITE_MEASURING_MODE_GDI_CLASSIC,
0.0f, // baselineOriginX,
0.0f, // baselineOriginY,
&pGlyphRunAnalysis);
}
*ppGlyphRunAnalysis = pGlyphRunAnalysis;
SafeRelease(&pDWriteFactory);
return S_OK;
}
Configuration requise
Condition requise | Valeur |
---|---|
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 |
Bibliothèque | Dwrite.lib |
DLL | Dwrite.dll |