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
相對於 DIB 左上角的 DIP,基準原點的水準位置。
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 Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | dwrite.h |
程式庫 | Dwrite.lib |
Dll | Dwrite.dll |