Интерфейс 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