C# 是否可以将XNA RenderTarget2D目标设置为System.Drawing.Image?

C# 是否可以将XNA RenderTarget2D目标设置为System.Drawing.Image?,c#,winforms,image,xna,rendertarget,C#,Winforms,Image,Xna,Rendertarget,基本上,我正在开发一个C WinForms应用程序,我想让一个XNA3.1游戏绘制到一个图像上,无论它是设备的主backbuffer还是我必须设置的渲染目标。这是可能的吗?是的,这是可能的,请参见此处: XNA框架游戏类提供了一种快速、简单、可移植的方式来托管游戏。它会自动创建一个窗口供游戏运行,初始化图形硬件,并提供简单的更新和绘制方法供您覆盖。不过,有时候游戏行为不够灵活。也许您希望对窗口的创建方式有更多的控制,或者您正在编写一个级别编辑器,并希望在三维图形表面周围放置Windows用户界面

基本上,我正在开发一个C WinForms应用程序,我想让一个XNA3.1游戏绘制到一个图像上,无论它是设备的主backbuffer还是我必须设置的渲染目标。这是可能的吗?

是的,这是可能的,请参见此处:

XNA框架游戏类提供了一种快速、简单、可移植的方式来托管游戏。它会自动创建一个窗口供游戏运行,初始化图形硬件,并提供简单的更新和绘制方法供您覆盖。不过,有时候游戏行为不够灵活。也许您希望对窗口的创建方式有更多的控制,或者您正在编写一个级别编辑器,并希望在三维图形表面周围放置Windows用户界面控件

幸运的是,XNA框架的设计考虑到了这些场景。该框架实际上由两个独立的程序集组成:Microsoft.Xna.framework提供核心功能,如数学、图形、输入和音频类,而Microsoft.Xna.framework.Game提供可选的高级代码,如游戏类。如果希望以其他方式托管游戏,可以使用自己的代码替换Microsoft.Xna.Framework.game中的功能

此示例实现一个GraphicsDeviceControl类,该类继承自System.Windows.Forms.Control,并提供WinForms控件使用XNA Framework GraphicsDevice对象绘制自身的能力。它演示了如何在多个控件之间共享单个GraphicsDevice对象,如何处理大小调整和丢失的设备,以及如何实现IGraphicsDeviceService接口,以支持通过ContentManager加载数据


是的,但我正在尝试绘制图像,而不是控件。抱歉,在这种情况下,请使用Texture2D。保存