IDWriteFactory2::TranslateColorGlyphRun 方法 (dwrite_2.h)
此方法在字形运行中调用,以将其转换为多个颜色字形运行。
语法
HRESULT TranslateColorGlyphRun(
FLOAT baselineOriginX,
FLOAT baselineOriginY,
[in] DWRITE_GLYPH_RUN const *glyphRun,
[in, optional] DWRITE_GLYPH_RUN_DESCRIPTION const *glyphRunDescription,
DWRITE_MEASURING_MODE measuringMode,
[in, optional] DWRITE_MATRIX const *worldToDeviceTransform,
UINT32 colorPaletteIndex,
[out] IDWriteColorGlyphRunEnumerator **colorLayers
);
参数
baselineOriginX
类型: FLOAT
原始字形运行的水平基线原点。
baselineOriginY
类型: FLOAT
原始字形运行的垂直基线原点。
[in] glyphRun
类型: const DWRITE_GLYPH_RUN*
包含单色字形 ID 的原始字形运行。
[in, optional] glyphRunDescription
类型: const DWRITE_GLYPH_RUN_DESCRIPTION*
可选的字形运行说明。
measuringMode
如果运行包含颜色标志符号,则用于计算字形位置的测量模式。
[in, optional] worldToDeviceTransform
类型: const DWRITE_MATRIX*
世界转换乘以任何 DPI 缩放。 如果运行包含颜色标志符号,并且测量模式未DWRITE_MEASURING_MODE_NATURAL,则计算字形位置需要 此参数。 如果此参数为 NULL,则假定标识转换。
colorPaletteIndex
类型: UINT32
要使用的调色板的从零开始的索引。 有效索引小于字体中的调色板数, IDWriteFontFace2::GetColorPaletteCount 返回。
[out] colorLayers
类型: IDWriteColorGlyphRunEnumerator**
如果原始字形运行包含颜色标志符号,则此参数接收指向 IDWriteColorGlyphRunEnumerator 接口的 指针。 客户端使用返回的接口来获取有关要呈现的字形运行和相关颜色的信息,而不是原始字形运行。 如果原始字形运行不包含颜色标志符号,则此方法返回 DWRITE_E_NOCOLOR 并且输出指针为 NULL。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
如果代码使用不包含颜色信息的字形运行调用此方法,该方法将返回 DWRITE_E_NOCOLOR ,让应用程序知道它只能绘制原始字形运行。 如果字形运行包含颜色信息,则函数将返回一个对象,该对象可以通过枚举来公开运行和关联的颜色。 然后,应用程序使用返回的每个字形运行和前景色调用 DrawGlyphRun 。
要求
最低受支持的客户端 | Windows 8.1 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | dwrite_2.h |
Library | Dwrite.lib |
DLL | Dwrite.dll |