2012-02-26 43 views
0

我是XNA的新手。我想要的僅僅是縮放紋理(例如將其大小加倍)並將較大的紋理保存到Texture2D類型的另一個紋理對象中。如何在XNA中縮放紋理並將結果保存到另一個結構中

任何想法?

感謝..

注::

我知道如何在不同的比例觀看質感,,拿這段代碼:

CountryTexturData =新的色彩[CountryTextur.Width * CountryTextur.Height];

CountryTextur.GetData(CountryTexturData);

我想在國家的像素上做一個過程,但不是原來的一個(CountryTextur),我想要縮放的像素數據保存在像CountryTextureData這樣的數組中,然後做一個簡單的過程。 。

SpriteBatch.Draw只能查看縮放,,希望我可以解釋這個問題..

+0

這不是很有用,你會浪費很多ram的東西,gpu給你免費的。 – Blau 2012-02-26 12:48:19

+0

好的,很好.. 以精靈名字:「縣」 我怎麼能讓精靈的大小翻倍?我不是說在Draw函數中,而是實際上加倍了.. 與轉換有關的東西? 謝謝.. – 2012-02-26 13:12:59

+0

'SpriteBatch.Draw'有一個scale參數。檢查MSDN。 – 2012-02-26 13:56:52

回答

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 

這將完成是否會在RenderTar中「繪製」您的ContryTexture?得到,它可以像普通的Texture2D一樣使用。

希望這會有所幫助!

相關問題