Метод 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
Тип: IDWriteRenderingParams*
Объект, управляющий поведением отрисовки.
textColor
Тип: COLORREF
Цвет переднего плана текста.
[out, optional] blackBoxRect
Тип: RECT*
Необязательный прямоугольник, который получает ограничивающий прямоугольник (в пикселях, а не в dips) всех пикселей, на которые влияет рисование выполнения глифа. Прямоугольник черного прямоугольника может выйти за пределы размеров растрового изображения.
Возвращаемое значение
Тип: 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, Windows Vista с пакетом обновления 2 (SP2) и обновление платформы для Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | dwrite.h |
Библиотека | Dwrite.lib |
DLL | Dwrite.dll |