如何在XNA中缩放纹理并将结果保存在另一个纹理中

时间:2012-02-26 10:27:21

标签: xna

我是XNA的新手。我想要的只是缩放纹理(例如,它的大小加倍)并将较大的纹理保存在Texture2D类型的另一个纹理对象中。

任何想法?

感谢..

请注意:

我知道如何以不同的比例查看纹理,请使用以下代码:

CountryTexturData = new Color [CountryTextur.Width * CountryTextur.Height];

CountryTextur.GetData(CountryTexturData);

我想对国家的像素进行处理,但不是原始像素(CountryTextur),我想要缩放的像素,将像素数据保存在数组中,如CountryTextureData,然后制作一个简单的过程。

SpriteBatch.Draw只能查看它的缩放,希望我能解释一下这个问题。

1 个答案:

答案 0 :(得分:0)

您可以使用RenderTargets来实现您想要的目标:

graphicsDevice.SetRenderTarget(scaledCountryTextur);
spriteBatch.Begin();
    //Draw your scaled CountryTextur
spriteBatch.End();
graphicsDevice.SetRenderTarget(null);

//You can now use scaledCountryTextur as an enlarged Texture2D of CountryTextur

这样做会在RenderTarget中“绘制”你的ContryTexture,它可以像普通的Texture2D一样使用。

希望这有帮助!