很抱歉,这有点模棱两可。我在 XNA 中使用 System.Drawing 时遇到问题;根据我的研究,XNA 无法使用它(因为它是 windows.dll 的一部分?)
我想创建一个精灵表分析器,它会自动将精灵表分解成适当的分段、帧数等,以供以后回放。为此,我需要获取实际的 PNG 文件,如果有一些已经具有处理图像功能的东西会很好。XNA 中是否有提供与 System.drawing 类似功能的类?
我找到了答案。我实际上可以从 texture2D 中获取颜色数据,允许我在不使用 XNA 之外的任何额外库的情况下拆卸图像进行分析
http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series2D/Texture_to_Colors.php
您可以System.Drawing
毫无问题地与 XNA 结合使用——您只需在您的 XNA 项目中添加对它的引用。但是,System.Drawing
不支持加载 .png,而 XNA 支持。
在 XNA 中加载图像的常用方法是首先将它们添加到您的内容项目中(通常当您创建 XNA 项目时,总会创建相应的内容项目)。将保存的 .png 添加到您的内容项目并为其指定一个唯一名称。然后在您的代码中,将图像加载为Texture2D
:
Texture2D myTexture = Content.Load<Texture2D>("my image name");
请注意使用Content
which 是可以从您当前用于 XNA 游戏的对象ContentManager
中引用的对象。Game
查看此内容以获取更多信息。