如何让用户在给定空间(50x50)中绘制(如MS Paint)图片并将该图片保存为texture2D? XNA

时间:2013-04-12 20:19:44

标签: xna drawing texture2d

我正在考虑制作一个窗口,其上有一个50x50的空间(位图?),并让用户在广场内绘制(如MS Paint)。当用户完成后,可以通过单击“保存”按钮保存图片,它将在Game1中更新(用于我的游戏的碰撞目的)。我在这里看过一些关于如何像MS Paint一样在屏幕上绘制的教程,但我似乎无法弄清楚如何将该图片保存为Texture2D / Rectangle。如何在Windows窗体上获取位图?

1 个答案:

答案 0 :(得分:0)

将位图保存为png:

private void SaveBmpAsPNG(Bitmap bm)
{
    bm.Save(@"c:\button.png", ImageFormat.Png);
}

将texture2d写入文件:

using (Stream stream = File.OpenWrite("picture.png"))
{
    texture.SaveAsPng(stream, texture.Width, texture.Height);
}

将.png读入texture2d:

using(Stream stream = File.OpenRead("picture.png"))
{
   texture = Texture2D.FromStream(GraphicsDevice, stream);
}