Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Инкапсулирует 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 |