通过物体的中心点来定义物体的位置

本文关键字:定义 位置 中心点 | 更新日期: 2023-09-27 18:02:09

在c# .net 4表单中,每当我添加一个对象时,它的位置由它的左上角决定。这意味着,如果我调整这个对象的大小,它将从这一点开始调整。

我有一个图片盒。如果我将宽度和高度更改为较小的值,则图片框看起来像是移动了,因为它的边框现在更靠近左上角,移动了图片框的中心点。

我希望图片框在保持其位置的同时重新缩放——这意味着图片的中心点将保持不变,而大小将围绕该点进行拆分(半上半下,半左半右)。

这可能吗?

通过物体的中心点来定义物体的位置

这是我的想法和快速制作,但类似于:

void resizeFromCenter(PictureBox box, int w, int h)
{
  var cenx = box.Left + box.Width/2;
  var ceny = box.Top + box.Height/2;
  box.Left = cenx - w/2;
  box.Width = w;
  box.Top = ceny - h/2;
  box.Height = h;
}