Метод ID2D1Factory::CreateHwndRenderTarget(constD2D1_RENDER_TARGET_PROPERTIES*,constD2D1_HWND_RENDER_TARGET_PROPERTIES*,ID2D1HwndRenderTarget**) (d2d1.h)

Создает ID2D1HwndRenderTarget, целевой объект отрисовки, который отрисовывается в окне.

При создании целевого объекта отрисовки и наличии аппаратного ускорения ресурсы выделяются на GPU компьютера. Создавая целевой объект отрисовки один раз и сохраняя его как можно дольше, вы получаете преимущества производительности. Приложение должно создать целевые объекты отрисовки один раз и удерживать их на протяжении всего времени существования приложения или до тех пор, пока не будет получена ошибка D2DERR_RECREATE_TARGET . При возникновении этой ошибки необходимо повторно создать целевой объект отрисовки (и все созданные им ресурсы).

Синтаксис

HRESULT CreateHwndRenderTarget(
  const D2D1_RENDER_TARGET_PROPERTIES      *renderTargetProperties,
  const D2D1_HWND_RENDER_TARGET_PROPERTIES *hwndRenderTargetProperties,
  ID2D1HwndRenderTarget                    **hwndRenderTarget
);

Параметры

renderTargetProperties

Тип: [in] const D2D1_RENDER_TARGET_PROPERTIES*

Режим отрисовки, формат пикселей, параметры удаленного взаимодействия, сведения о DPI и минимальная поддержка DirectX, необходимая для аппаратной отрисовки. Сведения о поддерживаемых форматах пикселей см. в разделе Поддерживаемые форматы пикселей и альфа-режимы.

hwndRenderTargetProperties

Тип: [in] const D2D1_HWND_RENDER_TARGET_PROPERTIES*

Дескриптор окна, начальный размер (в пикселях) и параметры представления.

hwndRenderTarget

Тип: [out] ID2D1HwndRenderTarget**

При возврате этого метода содержит адрес указателя на объект ID2D1HwndRenderTarget , созданный этим методом.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Когда вы создаете целевой объект отрисовки и доступно аппаратное ускорение, вы выделяете ресурсы на GPU компьютера. Создавая целевой объект отрисовки один раз и сохраняя его как можно дольше, вы получаете преимущества производительности. Приложение должно создать целевые объекты отрисовки один раз и удерживать их на протяжении всего времени существования приложения или до тех пор, пока не будет получена ошибка D2DERR_RECREATE_TARGET . При возникновении этой ошибки необходимо повторно создать целевой объект отрисовки (и все созданные им ресурсы).

Примеры

В следующем примере создается объект ID2D1HwndRenderTarget.

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
Header d2d1.h
Библиотека D2d1.lib
DLL D2d1.dll

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

ID2D1Factory