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


Обзор взаимодействия

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

На следующей схеме представлены различные платформы, с помощью которых Direct2D взаимодействует и перечисляет некоторые методы и интерфейсы, обеспечивающие взаимодействие.

диаграмма платформ, с которыми взаимодействует direct2d, включая direct3d 10.1, directwrite, wic, gdi+ и gdi

Взаимодействие GDI

Direct2D обеспечивает двустороннее взаимодействие с GDI. Вы можете использовать ID2D1DCRenderTarget для записи содержимого Direct2D в контекст устройства GDI (DC), или вы можете использовать ID2D1GdiInteropRenderTarget для получения представления DC целевого объекта отрисовки.

Для получения дополнительной информации и примеров см. раздел Обзор взаимодействия Direct2D и GDI.

Взаимодействие GDI+

GDI+ можно использовать с Direct2D таким же образом, как и GDI. Вы можете использовать ID2D1DCRenderTarget для записи содержимого Direct2D в тот же контроллер домена, что и содержимое GDI+. Этот подход позволяет приступить к добавлению содержимого Direct2D в приложения, которые в основном отображаются с помощью GDI+.

Вы также можете использовать ID2D1GdiInteropRenderTarget, чтобы предоставить доступ к контроллеру домена GDI, который записывает с помощью Direct2D, а затем использовать метод FromHDC для создания объекта. Этот подход полезен для приложений, которые в основном отрисовываются с помощью Direct2D, но содержат модель расширяемости или другое устаревшее содержимое, которое требует способности чертить с помощью GDI+.

Взаимодействие Direct3D

Direct2D может использовать целевой объект отрисовки поверхности DXGI (созданный методом createDxgiSurfaceRender ) для записи в IDXGISurface. Это действие позволяет добавлять 2-D фоны и интерфейсы в трехмерные сцены и использовать содержимое Direct2D в качестве текстуры для трехмерной модели. Direct2D также может принимать IDXGISurface и с помощью метода CreateSharedBitmap создавать представление растрового изображения.

Для получения дополнительной информации и примеров см. Обзор взаимодействия Direct2D и Direct3D.

Взаимодействие DirectWrite

Direct2D тесно интегрирован с DirectWrite. Direct2D упрощает рендеринг содержимого DirectWrite, предоставляя методы DrawText, DrawTextLayoutи DrawGlyphRun.

Windows Imaging Component (WIC) Совместимость

Direct2D предоставляет методы CreateBitmapFromWicBitmap, CreateSharedBitmapи CreateWicBitmapRenderTarget для управления растровыми изображениями WIC.

Обзор взаимодействия Direct2D и GDI

Обзор взаимодействия Direct2D и Direct3D