Freigeben über


IDWriteFactory::CreateGlyphRunAnalysis-Methode (dwrite.h)

Erstellt ein Glyphenausführungsanalyseobjekt, das Informationen kapselt, die zum Rendern einer Glyphenausführung verwendet werden.

Syntax

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
);

Parameter

[in] glyphRun

Typ: const DWRITE_GLYPH_RUN*

Eine -Struktur, die die Eigenschaften der Glyphenausführung enthält (Schriftart, Fortschritte usw.).

pixelsPerDip

Typ: FLOAT

Anzahl der physischen Pixel pro DIP (geräteunabhängiges Pixel). Wenn sie beispielsweise in einer Bitmap mit 96 DPI gerendert werden, ist pixelsPerDip 1. Beim Rendern in einer Bitmap mit 120 DPI ist pixelsPerDip 1,25.

[in, optional] transform

Typ: const DWRITE_MATRIX*

Optionale Transformation, die auf die Glyphen und deren Positionen angewendet wird. Diese Transformation wird nach der Skalierung angewendet, die emSize und pixelsPerDip angegeben hat.

renderingMode

Typ: DWRITE_RENDERING_MODE

Ein -Wert, der den Renderingmodus angibt, der einer der Rasterrenderingmodi sein muss (d. a. nicht Standard und nicht Gliederung).

measuringMode

Typ: DWRITE_MEASURING_MODE

Gibt den Messmodus an, der mit Glyphen verwendet werden soll.

baselineOriginX

Typ: FLOAT

Die horizontale Position (X-Koordinate) des Basisplanursprungs in DIPs.

baselineOriginY

Typ: FLOAT

Vertikale Position (Y-Koordinate) des Baselineursprungs in DIPs.

[out] glyphRunAnalysis

Typ: IDWriteGlyphRunAnalysis**

Wenn diese Methode zurückgibt, enthält die Adresse eines Zeigers auf das neu erstellte Glyphenausführungsanalyseobjekt.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Das Glyphenausführungsanalyseobjekt enthält die Ergebnisse der Analyse der Glyphenausführung, einschließlich der Positionen aller Glyphen und Verweise auf alle gerasterten Glyphen im Schriftartencache.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie ein Glyphenausführungsanalyseobjekt erstellt wird. In diesem Beispiel wird eine leere Glyphenausführung verwendet.

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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile dwrite.h
Bibliothek Dwrite.lib
DLL Dwrite.dll

Weitere Informationen

IDWriteFactory