居中后获取ImageBox中的图像坐标?

时间:2015-07-11 01:43:19

标签: c# image coordinates visual-studio-2015

我将图像加载到ImageBox中。 ImageBox固定为Top,Bottom,Left和Right。此外,CenterImage属性设置为do { try vend(itemNamed: "Candy Bar") ... } catch { print("Error info: \(error)") }

此外,我的表单设置为在加载时最大化。

我需要获取图像的左上角坐标。当窗体最大化时图像会调整大小,并且它也会居中,这会使坐标发生变化。

我有道理吗?我怎样才能找到这些坐标?

1 个答案:

答案 0 :(得分:1)

通过将宽度/高度除以2来找到图片框的中心。减去那些x / y值,即图像中宽度/高度的一半:

    private void pictureBox1_SizeChanged(object sender, EventArgs e)
    {
        pictureBox1.Invalidate();
    }

    private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
        Point pt = new Point(pictureBox1.Width / 2 - pictureBox1.Image.Width / 2, pictureBox1.Height / 2 - pictureBox1.Image.Height / 2);
        Rectangle rc = new Rectangle(pt, pictureBox1.Image.Size);
        e.Graphics.DrawRectangle(Pens.Red, rc);
    }