0

描画したいサイズよりもはるかに大きいPNG画像があります。PNGで塗りつぶしたい長方形もあります。私はこのコードを試しましたが、PNGのサイズを変更しません:

public void Draw(SpriteBatch batch, float screenWidth)
{
    Rectangle destinationRectangle = new Rectangle(0, 0, 0, 0);
    destinationRectangle.Width = (int)(screenWidth / 8);
    destinationRectangle.Height = (int)(screenWidth / 8);
    Vector2 topLeft = new Vector2(0, 0);
    batch.Begin();
    batch.Draw(GamePage.theImage, topLeft, destinationRectangle, Color.Transparent);
    batch.End();
}

ありがとう

4

1 に答える 1

1

画像が 250×250 ピクセルで、300×300 ピクセルの長方形を塗りつぶしたいとします。これを行うには、サイズが 300×300 の Destination Reactangle を使用します。

spriteBatch.Draw(yourImage, new Rectangle(12, 34, 300, 300), Color.White);

12 と 34 は、長方形の X 座標と Y 座標です。

プログラムは指定されたテクスチャで Destination Rectangle を塗りつぶすため、コード内のイメージの元のサイズについては言及されていません。


私はColor.Transparentあなたのコードで混乱しています。本当に目に見えないスプライトを描くつもりですか?

于 2012-12-13T10:12:13.900 に答える