定心后在ImageBox中获取图像坐标

本文关键字:获取 图像 坐标 ImageBox | 更新日期: 2023-09-27 18:02:21

我有一个图像加载到ImageBox。ImageBox固定在上、下、左和右。另外,将SizeMode属性设置为CenterImage

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

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

我说的有意义吗?我怎么找到这些坐标呢?

定心后在ImageBox中获取图像坐标

通过将其宽度/高度除以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);
    }