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


структура D2D1_RENDER_TARGET_PROPERTIES (d2d1.h)

Содержит параметры отрисовки (оборудование или программное обеспечение), формат пикселей, сведения о DPI, параметры удаленного взаимодействия и требования к поддержке Direct3D для целевого объекта отрисовки.

Синтаксис

typedef struct D2D1_RENDER_TARGET_PROPERTIES {
  D2D1_RENDER_TARGET_TYPE  type;
  D2D1_PIXEL_FORMAT        pixelFormat;
  FLOAT                    dpiX;
  FLOAT                    dpiY;
  D2D1_RENDER_TARGET_USAGE usage;
  D2D1_FEATURE_LEVEL       minLevel;
} D2D1_RENDER_TARGET_PROPERTIES;

Члены

type

Тип: D2D1_RENDER_TARGET_TYPE

Значение типа , указывающее, должен ли целевой объект отрисовки принудительно выполнять отрисовку оборудования или программного обеспечения. Значение D2D1_RENDER_TARGET_TYPE_DEFAULT указывает, что целевой объект отрисовки должен использовать аппаратную отрисовку, если она доступна; в противном случае используется программная отрисовка. Обратите внимание, что целевые объекты отрисовки точечного изображения WIC не поддерживают аппаратную отрисовку.

pixelFormat

Тип: D2D1_PIXEL_FORMAT

Формат пикселей и альфа-режим целевого объекта отрисовки. Функцию D2D1::P ixelFormat можно использовать для создания формата пикселей, указывающего, что Direct2D должен выбрать формат пикселей и альфа-режим. Список форматов пикселей и альфа-режимов, поддерживаемых каждым целевым объектом отрисовки, см. в разделе Поддерживаемые форматы пикселей и альфа-режимы.

dpiX

Тип: FLOAT

Горизонтальное разрешение целевого объекта отрисовки. Чтобы использовать значение DPI по умолчанию, задайте значение dpiX и dpiY равным 0. Дополнительные сведения см. в разделе «Примечания».

dpiY

Тип: FLOAT

Вертикальное разрешение целевого объекта отрисовки. Чтобы использовать значение DPI по умолчанию, задайте значение dpiX и dpiY равным 0. Дополнительные сведения см. в разделе «Примечания».

usage

Тип: D2D1_RENDER_TARGET_USAGE

Значение типа , указывающее, как удаленный целевой объект отрисовки и должен ли он быть совместимым с GDI. Задайте значение D2D1_RENDER_TARGET_USAGE_NONE , чтобы создать целевой объект отрисовки, несовместимый с GDI и использующий удаленное взаимодействие с командным потоком Direct3D, если он доступен.

minLevel

Тип: D2D1_FEATURE_LEVEL

Значение типа , указывающее минимальный уровень компонентов Direct3D, необходимый для аппаратной отрисовки. Если указанный минимальный уровень недоступен, целевой объект отрисовки использует программную отрисовку, если для элемента типа задано значение D2D1_RENDER_TARGET_TYPE_DEFAULT; Если для type задано значение D2D1_RENDER_TARGET_TYPE_HARDWARE, создание целевого объекта отрисовки завершается ошибкой. Значение D2D1_FEATURE_LEVEL_DEFAULT указывает, что Direct2D должен определить, является ли уровень функций Direct3D устройства адекватным. Это поле используется только при создании объектов ID2D1HwndRenderTarget и ID2D1DCRenderTarget .

Комментарии

Используйте эту структуру при создании целевого объекта отрисовки или с методом ID2D1RenderTarget::IsSupported для проверка свойств, поддерживаемых существующим целевым объектом отрисовки.

Для удобства Direct2D предоставляет вспомогательную функцию D2D1::RenderTargetProperties для создания D2D1_RENDER_TARGET_PROPERTIES структур. Простой способ создать структуру D2D1_RENDER_TARGET_PROPERTIES , которая работает для большинства целевых объектов отрисовки, — вызвать функцию без указания параметров. При этом создается структура D2D1_RENDER_TARGET_PROPERTIES , в полях которого заданы значения по умолчанию. Дополнительные сведения см. в разделе D2D1::RenderTargetProperties.

Не все целевые объекты отрисовки поддерживают аппаратную отрисовку. Список см. в разделе Общие сведения о целевых объектах отрисовки.

Использование параметров DPI по умолчанию

Чтобы использовать значение DPI по умолчанию, задайте значение dpiX и dpiY равным 0. Значение DPI по умолчанию зависит от целевого объекта отрисовки:
  • Для совместимого целевого объекта отрисовки по умолчанию используется разрешение родительского целевого объекта отрисовки.
  • Для ID2D1HwndRenderTarget DPI по умолчанию является системным DPI, полученным из id2D1Factory целевого объекта отрисовки.
  • Для других целевых объектов отрисовки значение по умолчанию — 96.
Чтобы использовать параметр DPI по умолчанию, и dpiX , и dpiY должны иметь значение 0. Установка только одного значения равным 0 приводит к E_INVALIDARG ошибке при попытке создать целевой объект отрисовки.

Примеры

В следующем примере используется функция D2D1::RenderTargetProperties для создания D2D1_RENDER_TARGET_PROPERTIES структуры, подходящей для большинства целевых объектов отрисовки.

RECT rc;
GetClientRect(m_hwnd, &rc);

D2D1_SIZE_U size = D2D1::SizeU(
    rc.right - rc.left,
    rc.bottom - rc.top
    );

// Create a Direct2D render target.
hr = m_pD2DFactory->CreateHwndRenderTarget(
    D2D1::RenderTargetProperties(),
    D2D1::HwndRenderTargetProperties(m_hwnd, size),
    &m_pRenderTarget
    );

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista с пакетом обновления 2 (SP2) и обновлением платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2) и Обновление платформы для Windows Server 2008 [классические приложения | Приложения UWP]
Верхняя часть d2d1.h

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

ID2D1RenderTarget::IsSupported

Общие сведения о целевых объектах отрисовки