我正在尝试在一个纹理上绘制很多纹理以创建RTS游戏的地图,同时我可以在屏幕上绘制个别纹理,并将它们全部绘制到渲染目标似乎没有效果(调试时窗口保持AliceBlue)。我试图确定是否有任何东西甚至被绘制到渲染目标,所以我试图将它保存为Jpeg到一个文件,然后从我的桌面查看该Jpeg。我如何从MemoryStream访问Jpeg?如何将texture2D保存为jpeg文件
保护覆盖无效LoadContent(){
spriteBatch = new SpriteBatch(GraphicsDevice);
gridImage = new RenderTarget2D(GraphicsDevice, 1000, 1000);
GraphicsDevice.SetRenderTarget(gridImage);
GraphicsDevice.Clear(Color.AliceBlue);
spriteBatch.Begin();
foreach (tile t in grid.tiles)
{
Texture2D dirt = Content.Load<Texture2D>(t.texture);
spriteBatch.Draw(dirt, t.getVector2(), Color.White);
}
test = Content.Load<Texture2D>("dirt");
GraphicsDevice.SetRenderTarget(null);
MemoryStream memoryStream = new MemoryStream();
gridImage.SaveAsJpeg(memoryStream, gridImage.Width, gridImage.Height); //Or SaveAsPng(memoryStream, texture.Width, texture.Height)
// rt.Dispose();
spriteBatch.End();
}
@Skami你不应该[添加冗余标签的问题](http://meta.stackexchange.com/questions/99072/should-adding-redundant-but-related-tags-be-encouraged-或-泄气)。您今天已经完成了[超过200个微小的修改](http://meta.stackexchange.com/questions/164503/gaming-the-edit-system-with-tiny-edits),其中大多数并没有真正提高质量的网站。 – Lucius
@Lucius对不起,我会更彻底地阅读规则,并确保我不会再搞乱。 – Skami
@Skami我相信你是用最好的意图去做的。请记住,每次你进行这样的编辑时,至少有3位版主必须处理它,并且问题会被碰撞。另外,XNA并不一定意味着C#。 XNA在理论上适用于任何.NET语言,并且至少在C#*和* VB中是实用的。 – Lucius