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 |