IDWriteBitmapRenderTarget::D rawGlyphRun 方法 (dwrite.h)
将一系列字形绘制到位于指定位置的位图目标。
语法
HRESULT DrawGlyphRun(
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_MEASURING_MODE measuringMode,
[in] DWRITE_GLYPH_RUN const *glyphRun,
IDWriteRenderingParams *renderingParams,
COLORREF textColor,
[out, optional] RECT *blackBoxRect
);
参数
baselineOriginX
类型: FLOAT
基线原点的水平位置(以 DIP 为单位),相对于 DIB 的左上角。
baselineOriginY
类型: FLOAT
基线原点相对于 DIB 左上角的垂直位置(以 DIP 为单位)。
measuringMode
运行中字形的测量方法,与其他属性一起使用以确定呈现模式。
[in] glyphRun
类型: const DWRITE_GLYPH_RUN*
包含字形运行属性的结构。
renderingParams
控制呈现行为的 对象。
textColor
类型: COLORREF
文本的前景色。
[out, optional] blackBoxRect
类型: RECT*
接收边界框的可选矩形 (像素,而不是 DIP) 绘制字形运行影响的所有像素。 黑框矩形可能超出位图的尺寸。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
备注
可以使用 IDWriteBitmapRenderTarget::D rawGlyphRun 从实现的自定义文本呈现器呈现为位图。 自定义文本呈现器应从 IDWriteTextRenderer::D rawGlyphRun 回调方法中调用此方法,如以下代码所示。
STDMETHODIMP GdiTextRenderer::DrawGlyphRun(
__maybenull void* clientDrawingContext,
FLOAT baselineOriginX,
FLOAT baselineOriginY,
DWRITE_MEASURING_MODE measuringMode,
__in DWRITE_GLYPH_RUN const* glyphRun,
__in DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
IUnknown* clientDrawingEffect
)
{
HRESULT hr = S_OK;
// Pass on the drawing call to the render target to do the real work.
RECT dirtyRect = {0};
hr = pRenderTarget_->DrawGlyphRun(
baselineOriginX,
baselineOriginY,
measuringMode,
glyphRun,
pRenderingParams_,
RGB(0,200,255),
&dirtyRect
);
return hr;
}
调用回调方法时, baselineOriginX、 baslineOriginY、 measuringMethod 和 glyphRun 参数 (作为参数提供) 。 renderingParams、textColor 和 blackBoxRect 不是。
可以使用 IDWriteFactory::CreateMonitorRenderingParams 方法检索默认呈现参数。
要求
最低受支持的客户端 | 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 |