Поделиться через


Метод 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*

Необязательный прямоугольник, который получает ограничивающий прямоугольник (в пикселях, а не в 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

См. также раздел

IDWriteBitmapRenderTarget