C# 在XNA中使用位图(PNG文件),System.drawing不可用

C# 在XNA中使用位图(PNG文件),System.drawing不可用,c#,xna,C#,Xna,很抱歉,这有点模棱两可。我在使用XNA中的System.Drawing时遇到问题;根据我的研究,XNA无法使用它(因为它是windows.dll的一部分?) 我想创建一个精灵表分析器,它会自动将精灵表分解为适当的分段、帧数等,以便以后播放。为此,我需要获取实际的PNG文件,如果有一个已经具备处理图像功能的文件就好了。XNA中是否有一个类提供与System.drawing类似的功能?您可以将System.drawing与XNA结合使用,没有问题——您只需在XNA项目中添加对它的引用即可。但是,Sy

很抱歉,这有点模棱两可。我在使用XNA中的System.Drawing时遇到问题;根据我的研究,XNA无法使用它(因为它是windows.dll的一部分?)


我想创建一个精灵表分析器,它会自动将精灵表分解为适当的分段、帧数等,以便以后播放。为此,我需要获取实际的PNG文件,如果有一个已经具备处理图像功能的文件就好了。XNA中是否有一个类提供与System.drawing类似的功能?

您可以将
System.drawing
与XNA结合使用,没有问题——您只需在XNA项目中添加对它的引用即可。但是,
System.Drawing
不支持加载.pngs,而XNA支持加载

在XNA中加载图像的通常方法是首先将它们添加到内容项目中(通常在创建XNA项目时,始终会创建相应的内容项目)。将保存的.png添加到内容项目中,并为其指定一个唯一的名称。然后在代码中,将图像加载为
纹理2D

Texture2D myTexture = Content.Load<Texture2D>("my image name");
Texture2D myTexture=Content.Load(“我的图像名”);
请注意
Content
的使用,它是一个
ContentManager
对象,可以从您当前用于XNA游戏的
游戏
对象中引用


更多信息。

我找到了答案。实际上,我可以从texture2D获得颜色数据,这样我就可以分解图像进行分析,而无需使用XNA之外的任何额外库


我可以很好地在屏幕上绘制对象,并使用内容管道,但是对于这个特定的实现,我需要将图像分解为像素,并在将其添加到管道中使用之前确定精灵表中的间隔。看起来您可以将纹理2D加载到颜色数组中。不过,谢谢你的帮助,你知道如何正确使用Texture2D了吗