IDWriteTextRenderer::D rawUnderline 方法 (dwrite.h)
IDWriteTextLayout::Draw 调用此函数以指示客户端绘制下划线。
语法
HRESULT DrawUnderline(
void *clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
[in] DWRITE_UNDERLINE const *underline,
IUnknown *clientDrawingEffect
);
参数
clientDrawingContext
类型: void*
传递给 IDWriteTextLayout::Draw 的应用程序定义的绘图上下文。
baselineOriginX
类型: FLOAT
像素位置 (X 坐标) 在应用下划线的运行基线原点处。
baselineOriginY
类型: FLOAT
像素位置 (Y 坐标) 在应用下划线的运行基线原点处。
[in] underline
类型: const DWRITE_UNDERLINE*
指向包含下划线逻辑信息的 结构的指针。
clientDrawingEffect
类型: IUnknown*
要应用于下划线的应用程序定义效果。 通常,此参数表示填充线条内部的前景画笔等效果。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
备注
单个下划线可以分为多个调用,具体取决于格式设置如何更改属性。 如果字号/样式在下划线内发生更改,则粗细和偏移量将根据字符进行平均加权。 若要获取适当的起始像素位置,请向基线添加 underline::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.h |
Library | Dwrite.lib |
DLL | Dwrite.dll |