IDWriteGlyphRunAnalysis 接口 (dwrite.h)

包含用于呈现字形运行的低级别信息。

继承

IDWriteGlyphRunAnalysis 接口继承自 IUnknown 接口。 IDWriteGlyphRunAnalysis 也具有以下类型的成员:

方法

IDWriteGlyphRunAnalysis 接口具有这些方法。

 
IDWriteGlyphRunAnalysis::CreateAlphaTexture

为指定边界矩形内的字形创建指定类型的 alpha 纹理。
IDWriteGlyphRunAnalysis::GetAlphaBlendParams

获取 ClearType 混合所需的 alpha 混合属性。
IDWriteGlyphRunAnalysis::GetAlphaTextureBounds

获取受字形运行影响的物理像素的边框。

备注

alpha 纹理可以是双级 alpha 纹理或 ClearType alpha 纹理。

双级 alpha 纹理每像素包含一个字节,因此,双级纹理的缓冲区大小将是纹理边界的面积(以字节为单位)。 CreateAlphaTexture 创建的双级 alpha 纹理中的每个字节都设置为DWRITE_ALPHA_MAX (,即 255) 或零。

ClearType alpha 纹理每像素包含三个字节,因此 ClearType alpha 纹理的缓冲区大小是纹理边界面积的三倍(以字节为单位)。

示例

下面的代码示例演示如何创建字形运行分析对象。 在此示例中,使用的是空字形运行。

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

要求

   
最低受支持的客户端 Windows 7、带 SP2 的 Windows Vista 和适用于 Windows Vista 的平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2、Windows Server 2008 SP2 和适用于 Windows Server 2008 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 dwrite.h