C# 如何在矩形中居中放置图像?

C# 如何在矩形中居中放置图像?,c#,image,xna,center,C#,Image,Xna,Center,如何将图像居中放置在矩形内: Batch.draw(imagename, new Rectangle(x, y, imagename.width, imagename.height), Color.White); 的其中一个重载要求使用纹理2d(图像)、矢量2(图像的位置)和颜色(图像的色调)。您不必使用矩形来绘制图像。只需使用一些数学运算,就可以得到位置的正确X和Y值 您必须考虑图像的高度/宽度,以及包含对象的高度/宽度(如屏幕或其他) 另一个选项是使用带Origin参数的重载。将其设置为图

如何将图像居中放置在矩形内:

Batch.draw(imagename, new Rectangle(x, y, imagename.width, imagename.height), Color.White);
的其中一个重载要求使用
纹理2d
(图像)、
矢量2
(图像的位置)和
颜色(图像的色调)。您不必使用矩形来绘制图像。只需使用一些数学运算,就可以得到位置的正确
X
Y

您必须考虑图像的高度/宽度,以及包含对象的高度/宽度(如屏幕或其他)


另一个选项是使用带
Origin
参数的重载。将其设置为图像的相对中心。这将更改图像的“绘制原点”从左上角到中心。

您可以使用spritebatch的原点重载

Batch.draw(imagename, new Rectangle(x, y, imagename.width, imagename.height), Color.White,0f,new Vector2(imagename.Width /2, imagename.Height /2) ,SpriteEffects.Null, 0);

我知道我已经回答了这个问题,但请为你的问题提供更多的背景。