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

时间:2013-05-09 23:09:43

标签: c# image xna center

如何使用以下内容将图像置于矩形中心:

Batch.draw(imagename, new Rectangle(x, y, imagename.width, imagename.height), Color.White);

2 个答案:

答案 0 :(得分:1)

您可以使用原点重载进行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);

答案 1 :(得分:0)

SpriteBatch.Draw()的一个重载要求Texture2D(图像),Vector2(图像的位置)和Color(色调)图像)。您不必使用矩形来绘制图像。只需使用一些数学运算来获得该位置的正确XY值。

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

另一种选择是使用带有Origin参数的重载。将其设置为图像的 relative 中心。这会将图像的“绘制原点”从左上角更改为中心。