IDWriteFactory::CreateGlyphRunAnalysis 方法 (dwrite.h)
创建一个字形运行分析对象,该对象封装用于呈现字形运行的信息。
语法
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
);
参数
[in] glyphRun
类型: const DWRITE_GLYPH_RUN*
包含字形属性的 结构 (字体、前进等) 。
pixelsPerDip
类型: FLOAT
每个 DIP (与设备无关的像素) 的物理像素数。 例如,如果呈现到 96 DPI 位图上,则 pixelsPerDip 为 1。 如果呈现到 120 DPI 位图上,则 pixelsPerDip 为 1.25。
[in, optional] transform
类型: const DWRITE_MATRIX*
应用于字形及其位置的可选转换。 此转换在指定 emSize 和 pixelsPerDip 的缩放后应用。
renderingMode
一个 值,该值指定呈现模式,该模式必须是 (的光栅渲染模式之一,即,不是默认的,也不是轮廓) 。
measuringMode
指定用于字形的测量模式。
baselineOriginX
类型: FLOAT
水平位置 (基线原点的 X 坐标) ,以 DIP 为单位。
baselineOriginY
类型: FLOAT
垂直位置 (基线原点的 Y 坐标) ,以 DIP 为单位。
[out] glyphRunAnalysis
类型: IDWriteGlyphRunAnalysis**
此方法返回时,包含指向新创建的字形运行分析对象的指针的地址。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
字形运行分析对象包含分析字形运行的结果,包括所有字形的位置和对字体缓存中所有光栅化字形的引用。
示例
下面的代码示例演示如何创建字形运行分析对象。 在此示例中,使用的是空字形运行。
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 |
Library | Dwrite.lib |
DLL | Dwrite.dll |