Интерфейс IDWriteBitmapRenderTarget (dwrite.h)
Инкапсулирует 32-разрядное точечный рисунок и контекст устройства, которые можно использовать для отрисовки глифов.
Наследование
Интерфейс IDWriteBitmapRenderTarget наследуется от интерфейса IUnknown . IDWriteBitmapRenderTarget также имеет следующие типы элементов:
Методы
Интерфейс IDWriteBitmapRenderTarget содержит следующие методы.
IDWriteBitmapRenderTarget::D rawGlyphRun Рисует выполнение глифов в целевом объекте растрового изображения в указанной позиции. |
IDWriteBitmapRenderTarget::GetCurrentTransform Возвращает преобразование, сопоставляющее абстрактные координаты с DIP. По умолчанию это преобразование удостоверения. Обратите внимание, что это не связано с преобразованием мира в контексте базового устройства. |
IDWriteBitmapRenderTarget::GetMemoryDC Возвращает дескриптор контекста устройства памяти. |
IDWriteBitmapRenderTarget::GetPixelsPerDip Возвращает количество пикселей растрового изображения на DIP. |
IDWriteBitmapRenderTarget::GetSize Возвращает размеры целевого растрового изображения. |
IDWriteBitmapRenderTarget::Resize Изменяет размер растрового изображения. |
IDWriteBitmapRenderTarget::SetCurrentTransform Задает преобразование, которое сопоставляет абстрактную координату с DIP (аппаратно-независимый пиксель). Это не влияет на преобразование мира в контексте базового устройства. |
IDWriteBitmapRenderTarget::SetPixelsPerDip Задает количество пикселей растрового изображения на dip (аппаратно-независимый пиксель). Значение DIP равно 1/96 дюйма, поэтому это значение является числом пикселей на дюйм, разделенным на 96. |
Комментарии
IdWriteBitmapRenderTarget создается с помощью метода IDWriteGdiInterop::CreateBitmapRenderTarget, как показано в следующем коде.
if (SUCCEEDED(hr))
{
hr = g_pGdiInterop->CreateBitmapRenderTarget(hdc, r.right, r.bottom, &g_pBitmapRenderTarget);
}
IDWriteGdiInterop::CreateBitmapRenderTarget принимает дескриптор контроллера домена, а также необходимую ширину и высоту. В приведенном выше примере заданная ширина и высота являются размером прямоугольника окна.
Визуализации
Одним из способов использования IDWriteBitmapRenderTarget для отрисовки в растровое изображение является реализация пользовательского интерфейса отрисовщика, производного от интерфейса IDWriteTextRenderer . В реализации метода DrawGlyphRun пользовательского отрисовщика вызовите метод IDWriteBitmapRenderTarget::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;
}
IDWriteBitmapRenderTarget инкапсулирует и отрисовывает растровое изображение в памяти. Функция GetMemoryDC возвращает дескриптор в контекст устройства этого растрового изображения.
Требования
Минимальная версия клиента | 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 |