2011-01-25 12 views
3

ユーザーがアップロードした画像があります.pngをアップロードします。 この画像は固定サイズです.100x100としましょう。画像からXNAスプライトをオンザフライで作成する

この画像では4つのスプライトを作成します。 (50,50)

別の(0,0)から

一方、(50、0)(50(0、50)から(100、50)

第3から100)

最後の)50、50(から(100、100)

に私は私れる好ましいのC#でいることをどのように行うことができますか? PNGファイルからテクスチャを作成するために、任意の助け

答えて

5

を事前に

おかげで、Texture2D.FromStream()方法(MSDN)を使用します。

テクスチャの異なるセクションを描画するには、それを受け入れるSpriteBatch.DrawのオーバーロードにsourceRectangleパラメータを使用します(MSDN)。

はここにいくつかのサンプルコードです:

// Presumably in Update or LoadContent: 
using(FileStream stream = File.OpenRead("uploaded.png")) 
{ 
    myTexture = Texture2D.FromStream(GraphicsDevice, stream); 
} 

// In Draw: 
spriteBatch.Begin(); 
spriteBatch.Draw(myTexture, new Vector2(111), new Rectangle(0, 0, 50, 50), Color.White); 
spriteBatch.Draw(myTexture, new Vector2(222), new Rectangle(0, 50, 50, 50), Color.White); 
spriteBatch.Draw(myTexture, new Vector2(333), new Rectangle(50, 0, 50, 50), Color.White); 
spriteBatch.Draw(myTexture, new Vector2(444), new Rectangle(50, 50, 50, 50), Color.White); 
spriteBatch.End(); 
+0

Texture2D.FromStreamは感謝多く、このために最適です – Tim

関連する問題