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);
我知道我已经回答了这个问题,但请为你的问题提供更多的背景。