我的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();
}
由于
答案 0 :(得分:1)
让我们假设你的图像是250×250像素,你想用它填充一个300×300像素的矩形。为此,您可以使用尺寸为300×300的目标反射镜:
spriteBatch.Draw(yourImage, new Rectangle(12, 34, 300, 300), Color.White);
12和34是矩形的X和Y坐标。
在代码中没有提到图像的原始大小,因为它没关系,因为程序将使用任何给定的纹理填充目标矩形。
我在你的代码中与Color.Transparent
混淆,你真的打算画一个看不见的精灵吗?