在XNA中使用BitMaps(PNG文件),System.drawing不可用

时间:2012-10-16 23:53:29

标签: c# xna

对不起,这有点模棱两可。我在XNA中使用System.Drawing时遇到问题;从我的研究来看,它不适用于XNA(因为它是windows.dll的一部分?)

我想创建一个精灵表单分析器,它可以自动将精灵表格分解为正确的分段,帧数等,以便以后播放。为此,我需要获取实际的PNG文件,并且拥有已经具有处理图像功能的东西会很不错。 XNA中是否有类提供与System.drawing类似的功能?

2 个答案:

答案 0 :(得分:1)

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

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

Texture2D myTexture = Content.Load<Texture2D>("my image name");

请注意使用Content这是一个ContentManager对象,可以从您当前用于XNA游戏的Game对象中引用。

Check this out了解更多信息。

答案 1 :(得分:1)

我找到了答案。我实际上可以从texture2D获取颜色数据,允许我反汇编图像进行分析而不使用XNA之外的任何额外库

http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series2D/Texture_to_Colors.php