IDWriteGlyphRunAnalysis-Schnittstelle (dwrite.h)

Enthält Informationen auf niedriger Ebene, die zum Rendern einer Glyphenausführung verwendet werden.

Vererbung

Die IDWriteGlyphRunAnalysis-Schnittstelle erbt von der IUnknown-Schnittstelle . IDWriteGlyphRunAnalysis verfügt auch über folgende Membertypen:

Methoden

Die IDWriteGlyphRunAnalysis-Schnittstelle verfügt über diese Methoden.

 
IDWriteGlyphRunAnalysis::CreateAlphaTexture

Erstellt eine Alphatextur des angegebenen Typs für Glyphen innerhalb eines angegebenen begrenzungsenden Rechtecks.
IDWriteGlyphRunAnalysis::GetAlphaBlendParams

Ruft Alphamischungseigenschaften ab, die für die ClearType-Mischung erforderlich sind.
IDWriteGlyphRunAnalysis::GetAlphaTextureBounds

Ruft das umgebende Rechteck der physischen Pixel ab, die von der Glyphenausführung betroffen sind.

Hinweise

Die Alphatextur kann eine Alphatextur mit zwei Ebenen oder eine ClearType-Alphatextur sein.

Eine Alphatextur auf zwei Ebenen enthält ein Byte pro Pixel, daher ist die Größe des Puffers für eine Textur auf zwei Ebenen der Bereich der Texturgrenzen in Bytes. Jedes Byte in einer von CreateAlphaTexture erstellten Alphatextur auf zwei Ebenen ist entweder auf DWRITE_ALPHA_MAX (d. h. 255) oder null festgelegt.

Eine ClearType-Alphatextur enthält drei Bytes pro Pixel, daher ist die Größe des Puffers für eine ClearType-Alphatextur dreimal so groß wie der Bereich der Texturgrenzen in Bytes.

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

   
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