Direct3D 和 GDI 互操作性
求NET下GDI+和D3D9之间如何互操作,求个小例子.
Direct2D 的主要功能之一是支持 Direct2D 和其他呈现平台之间的互操作性,以便开发人员能够针对所有需求选择单一平台,从而利用每个平台的特定优势而不必作出妥协。本主题总结了可与 Direct2D 互操作的不同平台。它包含下列部分。
•GDI 互操作性
•GDI+ 互操作性
•Direct3D 互操作性
•DirectWrite 互操作性
•Windows 图像处理组件 (WIC) 互操作性
•相关主题
下图总结了可与 Direct2D 互操作的不同平台,并列出了提供互操作性的一些方法和接口。
此图显示了可与 Direct2D 互操作的平台。
GDI 互操作性
Direct2D 可实现与 GDI 的双向互操作。您可使用 ID2D1DCRenderTarget 将 Direct2D 内容写入 GDI 设备上下文 (DC),也可使用 ID2D1GdiInteropRenderTarget 来获取呈现器目标的 DC 表示。
有关更多信息和示例,请参见 Direct2D 和 GDI 互操作性概述。
GDI+ 互操作性
可将 GDI+ 与 Direct2D 结合使用,方式与 GDI 大致相同。可使用 ID2D1DCRenderTarget 将 Direct2D 内容写入与 GDI+ 内容相同的 DC。通过这种方法,您可以开始将 Direct2D 内容添加到主要使用 GDI+ 进行呈现的应用程序。
还可使用 ID2D1GdiInteropRenderTarget 来提供对使用 Direct2D 进行写入的 GDI DC 的访问,然后使用 FromHDC 方法来创建 Graphics 对象。此方法对于主要使用 Direct2D 进行呈现的应用程序很有用,但具有一个扩展性模型或需要 GDI+ 的呈现能力的其他旧内容。
Direct3D 互操作性
Direct2D 可使用 DXGI 图面呈现器目标(由 CreateDxgiSurfaceRender 方法创建)来写入 IDXGISurface,这样就可将 2D 背景和界面添加到 3D 场景中,并将 Direct2D 内容用作 3D 模型的纹理。Direct2D 还可采用 IDXGISurface 并使用 CreateSharedBitmap 方法来创建位图表示。
有关更多信息和示例,请参见 Direct2D 和 Direct3D 互操作性概述。
DirectWrite 互操作性
Direct2D 设计为可与 DirectWrite 紧密集成。通过提供 DrawText、DrawTextLayout 和 DrawGlyphRun 方法,Direct2D 可轻松呈现 DirectWrite 内容。
Windows 图像处理组件 (WIC) 互操作性
为了处理 WIC 位图,Direct2D 提供了 CreateBitmapFromWicBitmap、CreateSharedBitmap 和 CreateWicBitmapRenderTarget 方法。
另请参见
Direct2D 和 GDI 互操作性概述 Direct2D 和 Direct3D 互操作性概述