IDWriteTextRenderer1::D rawUnderline 方法 (dwrite_2.h)

IDWriteTextLayout::Draw 调用此函数以指示客户端绘制下划线。

语法

HRESULT DrawUnderline(
       void                           *clientDrawingContext,
       FLOAT                          baselineOriginX,
       FLOAT                          baselineOriginY,
       DWRITE_GLYPH_ORIENTATION_ANGLE orientationAngle,
  [in] DWRITE_UNDERLINE const         *underline,
       IUnknown                       *clientDrawingEffect
);

参数

clientDrawingContext

类型: void*

传递给 IDWriteTextLayout::Draw 的应用程序定义的绘图上下文。

baselineOriginX

类型: FLOAT

像素位置 (X 坐标) 在应用下划线的运行基线原点处。

baselineOriginY

类型: FLOAT

像素位置 (Y 坐标) 在应用下划线的运行基线原点处。

orientationAngle

类型: DWRITE_GLYPH_ORIENTATION_ANGLE

下划线的方向。

[in] underline

类型: const DWRITE_UNDERLINE*

指向包含下划线逻辑信息的结构的指针。

clientDrawingEffect

类型: IUnknown*

要应用于下划线的应用程序定义效果。 通常,此参数表示效果,例如填充线条内部的前景画笔。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

备注

单个下划线可以分解为多个调用,具体取决于格式设置更改属性的方式。 如果字号/样式在下划线内发生更改,则粗细和偏移量将根据字符进行平均加权。 若要获取适当的起始像素位置,请向基线添加下划线::offset。 否则,文本之间将没有间距。 无论文本方向如何,x 坐标始终作为左侧传递。 这简化了绘制,减少了可能导致间隙或双戳 alpha 混合的舍入问题。 若要避免 alpha 重叠,请将终结点舍入到最近的设备像素。

要求

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

请参阅

IDWriteTextRenderer1