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
基线原点的垂直位置(以 DIP 为单位)相对于 DIB 左上角。
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;
}
调用回调方法时, 比较基准OriginX、 baslineOriginY、 measuringMethod 和 glyphRun 参数 (作为) 参数提供。 renderingParams、textColor 和 blackBoxRect 不是。
可以使用 IDWriteFactory::CreateMonitorRenderingParams 方法检索默认呈现参数。
要求
最低受支持的客户端 | 适用于 Windows Vista 的 Windows 7、带有 SP2 和平台更新的 Windows Vista [桌面应用|UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [桌面应用|UWP 应用] |
目标平台 | Windows |
标头 | dwrite.h |
Library | Dwrite.lib |
DLL | Dwrite.dll |