Bagikan melalui


Antarmuka IDWriteGlyphRunAnalysis (dwrite.h)

Berisi informasi tingkat rendah yang digunakan untuk merender eksekusi glyph.

Warisan

Antarmuka IDWriteGlyphRunAnalysis mewarisi dari antarmuka IUnknown . IDWriteGlyphRunAnalysis juga memiliki jenis anggota berikut:

Metode

Antarmuka IDWriteGlyphRunAnalysis memiliki metode ini.

 
IDWriteGlyphRunAnalysis::CreateAlphaTexture

Membuat tekstur alfa dari jenis yang ditentukan untuk glyph dalam persegi panjang pembatas tertentu.
IDWriteGlyphRunAnalysis::GetAlphaBlendParams

Mendapatkan properti penpaduan alfa yang diperlukan untuk blending ClearType.
IDWriteGlyphRunAnalysis::GetAlphaTextureBounds

Mendapatkan persegi panjang pembatas piksel fisik yang dipengaruhi oleh eksekusi glyph.

Keterangan

Tekstur alfa dapat berupa tekstur alfa tingkat dua atau tekstur alfa ClearType.

Tekstur alfa dua tingkat berisi satu byte per piksel, oleh karena itu ukuran buffer untuk tekstur dua tingkat akan menjadi area batas tekstur, dalam byte. Setiap byte dalam tekstur alfa tingkat dua yang dibuat oleh CreateAlphaTexture diatur ke DWRITE_ALPHA_MAX (yaitu, 255) atau nol.

Tekstur alfa ClearType berisi tiga byte per piksel, oleh karena itu ukuran buffer untuk tekstur alfa ClearType tiga kali area batas tekstur, dalam byte.

Contoh

Contoh kode berikut menunjukkan cara membuat objek analisis eksekusi glyph. Dalam contoh ini, eksekusi glyph kosong sedang digunakan.

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

Persyaratan

   
Klien minimum yang didukung Windows 7, Windows Vista dengan SP2 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2, Windows Server 2008 dengan SP2 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header dwrite.h