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

类型: DWRITE_MEASURING_MODE

运行中字形的测量方法,用于其他属性来确定呈现模式。

[in] glyphRun

类型: const DWRITE_GLYPH_RUN*

包含字形运行属性的结构。

renderingParams

类型: IDWriteRenderingParams*

控制呈现行为的对象。

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;
}

调用回调方法时, 比较基准OriginXbaslineOriginYmeasuringMethodglyphRun 参数 (作为) 参数提供。 renderingParamstextColorblackBoxRect 不是。

可以使用 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

另请参阅

IDWriteBitmapRenderTarget