0

c# .net 4 フォームでは、オブジェクトを追加するたびに、その場所は左上隅によって決定されます。つまり、このオブジェクトのサイズを変更すると、この時点からサイズが変更されます。

ピクチャーボックスを持っています。幅と高さをより小さな値に変更すると、画像ボックスが移動したように見えます。これは、境界線が左上に近くなり、画像ボックスの中心点が移動するためです。

画像ボックスの位置を維持しながら再スケーリングする必要があります。つまり、画像の中心点は同じままですが、サイズはこの点を中心に分割されます (半分上半分下半分左半分右)。

それは可能ですか?

4

1 に答える 1

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;
}
于 2013-03-04T09:42:33.193 に答える