如何在PictureBox中更改图像的原点?

时间:2014-05-31 01:08:41

标签: c# winforms

Flash有一个与此完全相同的选项,您可以在其中设置注册点:

enter image description here

当我尝试做任何事情时,通过扩展Panel设置图像的位置,尝试在PictureBox中偏移Image ...我找不到任何结果,因为:

例如,这个:

enter image description here

如果在C#中无法做到这一点,那就没问题。我想念这项技术并将与MainMa合作。

1 个答案:

答案 0 :(得分:1)

图片的size可通过两个属性获得:

  • PictureBox.Size.Height

  • PictureBox.Size.Width

并通过执行以下操作设置location

PictureBox.Location = new Point(x, y)

所以要转移图片,你可以:

private void CenterPicture(PictureBox picture)
{
    if (picture == null)
    {
        throw new ArgumentNullException(
            "picture",
            "The picture should be specified.");
    }

    var x = picture.Location.X - picture.Size.Width / 2;
    var y = picture.Location.Y - picture.Size.Height / 2;
    picture.Location = new Point(x, y);
}

注意:请记得检查SizeMode。此属性的某些values可能会调整图像大小,这会导致在应用CenterPicture方法时它不会居中。