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

类型: DWRITE_MEASURING_MODE

如果运行包含颜色标志符号,则用于计算字形位置的测量模式。

[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

另请参阅

IDWriteFactory2