Partager via


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

Voir aussi

IDWriteFactory