如何从用户的计算机加载图像

use*_*443 6 c# xna textures image c#-4.0

是否可以从用户计算机加载图像到XNA游戏?例如,我想加载"C:\ Images\Box.png"来实现sprite纹理.可能吗?如果有,怎么样?

Geo*_*ett 14

在XNA 4.0中使用 Texture2D.FromStream

Texture2D fileTexture;
using(FileStream fileStream = new FileStream(@"C:\Images\Box.png", FileMode.Open))
{
    fileTexture = Texture2D.FromStream(GraphicsDevice, fileStream);
}
Run Code Online (Sandbox Code Playgroud)

如果您在4.0之前使用XNA,那么您可以使用Texture2D.FromFile.

  • 根据文档`.gif,.jpg或.png`是支持的,所以是的. (2认同)

nee*_*eKo 5

System.IO.FileStream stream = new System.IO.FileStream(@"C:\Images\Box.png", System.IO.FileMode.Open);
Texture2D texture = Texture2D.FromStream(GraphicsDevice, stream);
Run Code Online (Sandbox Code Playgroud)

  • 一旦完成,不要忘记丢弃流.(使用`stream.Dispose`,或者像我使用过的`using`语句). (2认同)