Интерфейс ID2D1Factory (d2d1.h)

Создает ресурсы Direct2D.

Наследование

Интерфейс ID2D1Factory наследуется от интерфейса IUnknown . ID2D1Factory также имеет следующие типы элементов:

Методы

Интерфейс ID2D1Factory имеет эти методы.

 
ID2D1Factory::CreateDCRenderTarget

Создает целевой объект отрисовки, который рисуется в контексте устройства интерфейса графического устройства Windows (GDI).
ID2D1Factory::CreateDrawingStateBlock

Создает id2D1DrawingStateBlock, который можно использовать с методами SaveDrawingState и RestoreDrawingState целевого объекта отрисовки. (перегрузка 1/3)
ID2D1Factory::CreateDrawingStateBlock

Создает id2D1DrawingStateBlock, который можно использовать с методами SaveDrawingState и RestoreDrawingState целевого объекта отрисовки. (перегрузка 2/3)
ID2D1Factory::CreateDrawingStateBlock

Создает id2D1DrawingStateBlock, который можно использовать с методами SaveDrawingState и RestoreDrawingState целевого объекта отрисовки. (перегрузка 3/3)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

Создает целевой объект отрисовки, который обращается к поверхности инфраструктуры графики DirectX (DXGI). (перегрузка 1/2)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

Создает целевой объект отрисовки, который обращается к поверхности инфраструктуры графики DirectX (DXGI). (перегрузка 2/2)
ID2D1Factory::CreateEllipseGeometry

Создает идентификатор ID2D1EllipseGeometry. (перегрузка 2/2)
ID2D1Factory::CreateEllipseGeometry

Создает идентификатор ID2D1EllipseGeometry. (перегрузка 1/2)
ID2D1Factory::CreateGeometryGroup

Создает объект ID2D1GeometryGroup, который является объектом, который содержит другие геометрические объекты.
ID2D1Factory::CreateHwndRenderTarget

Создает объект ID2D1HwndRenderTarget, целевой объект отрисовки, который отображается в окне. (перегрузка 2/2)
ID2D1Factory::CreateHwndRenderTarget

Создает объект ID2D1HwndRenderTarget, целевой объект отрисовки, который отображается в окне. (перегрузка 1/2)
ID2D1Factory::CreatePathGeometry

Создает пустую метку ID2D1PathGeometry.
ID2D1Factory::CreateRectangleGeometry

Создает id2D1RectangleGeometry. (перегрузка 2/2)
ID2D1Factory::CreateRectangleGeometry

Создает id2D1RectangleGeometry. (перегрузка 1/2)
ID2D1Factory::CreateRoundedRectangleGeometry

Создает id2D1RoundedRectangleGeometry. (перегрузка 2/2)
ID2D1Factory::CreateRoundedRectangleGeometry

Создает id2D1RoundedRectangleGeometry. (перегрузка 1/2)
ID2D1Factory::CreateStrokeStyle

Создает идентификатор ID2D1StrokeStyle, описывающий начальную крышку, тире и другие признаки росчерка. (перегрузка 2/2)
ID2D1Factory::CreateStrokeStyle

Создает идентификатор ID2D1StrokeStyle, описывающий начальную крышку, тире и другие признаки росчерка. (перегрузка 1/2)
ID2D1Factory::CreateTransformedGeometry

Преобразует указанную геометрию и сохраняет результат в виде объекта ID2D1TransformedGeometry. (перегрузка 2/2)
ID2D1Factory::CreateTransformedGeometry

Преобразует указанную геометрию и сохраняет результат в виде объекта ID2D1TransformedGeometry. (перегрузка 1/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Создает целевой объект отрисовки, который отображается в растровом рисунке компонента образов Microsoft Windows (WIC). (перегрузка 2/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Создает целевой объект отрисовки, который отображается в растровом рисунке компонента образов Microsoft Windows (WIC). (перегрузка 1/2)
ID2D1Factory::GetDesktopDpi

Извлекает текущие точки рабочего стола на дюйм (DPI). Чтобы обновить это значение, вызовите ReloadSystemMetrics.
ID2D1Factory::ReloadSystemMetrics

Заставляет фабрику обновлять все системные значения по умолчанию, которые могли быть изменены с момента создания фабрики.

Комментарии

Интерфейс ID2D1Factory является отправной точкой для использования Direct2D; Это то, что вы используете для создания других ресурсов Direct2D, которые можно использовать для рисования или описания фигур.

Фабрика определяет набор методов созданияресурсов , которые могут создавать следующие ресурсы рисования:

  • Целевые объекты отрисовки: объекты, отображающие команды рисования.
  • Блоки состояния рисования: объекты, которые хранят сведения о состоянии рисования, такие как текущее преобразование и режим защиты.
  • Геометрические объекты: объекты, представляющие простые и потенциально сложные фигуры.

Чтобы создать ID2D1Factory, используйте один из методов CreateFactory . Экземпляр ID2D1Factory следует хранить до тех пор, пока вы используете ресурсы Direct2D; Как правило, не нужно повторно создавать его при запуске приложения. Дополнительные сведения о ресурсах Direct2D см. в обзоре ресурсов.

Однопоточные и многопоточные фабрики

При создании фабрики можно указать, является ли она многопоточной или однопоточной. Однопоточная фабрика не обеспечивает сериализацию для любого другого однопоточного экземпляра в Direct2D, поэтому этот механизм обеспечивает очень большую степень масштабирования на ЦП.

Можно также создать многопоточный экземпляр фабрики. В этом случае фабрику и все производные объекты можно использовать из любого потока, и каждый целевой объект отрисовки можно преобразовать в независимое представление. Direct2D сериализует вызовы этих объектов, поэтому один многопоточный экземпляр Direct2D не будет масштабироваться на ЦП столько же, сколько однопоточных экземпляров. Однако ресурсы можно совместно использовать в многопоточных экземплярах.

Обратите внимание, что квалификатор "На ЦП": графические процессоры обычно используют преимущества детализированного параллелизма больше, чем процессоры. Например, многопоточные вызовы из ЦП могут по-прежнему сериализоваться при отправке на GPU, однако весь банк пикселей и вершинных шейдеров будет выполняться параллельно для отрисовки.

Дополнительные сведения см. в многопоточных приложениях Direct2D .

Примеры

Следующие фрагменты кода объявляют указатель фабрики, создают однопоточный экземпляр фабрики и используют фабрику для создания целевого объекта отрисовки.

ID2D1Factory* m_pDirect2dFactory;

    // Create a Direct2D factory.
    hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDirect2dFactory);

        // Create a Direct2D render target.
        hr = m_pDirect2dFactory->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]
Целевая платформа Windows
Header d2d1.h

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

Обзор Direct2D

Создание простого приложения Direct2D

начало работы с Direct2D

IUnknown

Многопоточные приложения Direct2D

Общие сведения о ресурсах