通过它的中心点定义对象位置

时间:2013-03-04 09:37:38

标签: c# winforms picturebox

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

我有一个图片框。如果我将宽度和高度更改为更小的值,那么图片框似乎就会移动,因为它的边框现在更接近它的左上角,移动了图片框的中心点。

我想让图片框重新缩放,同时保持它的位置 - 这意味着图片的中心点将保持不变,而大小将围绕此点分开(半上半部分和半部分左半部分 - 右)。

这可能吗?

1 个答案:

答案 0 :(得分:0)

这是我的想法,并迅速制作,但像:

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;
}