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 坐标。

代码中没有提及图像的原始大小,因为这无关紧要,因为程序将使用任何给定的纹理填充目标矩形。


我对Color.Transparent你的代码感到困惑,你真的打算画一个不可见的精灵吗?

于 2012-12-13T10:12:13.900 回答