2015-07-11 52 views
-1

我有一個圖像加載到ImageBox。 ImageBox被錨定在頂部,底部,左側和右側。另外,SizeMode屬性設置爲CenterImage居中後在ImageBox中獲取圖像座標?

此外,我的表單被設置爲最大化負載。

我需要獲取圖像的左上角座標。當窗體最大化時圖像大小調整,並且它也居中,這使得座標改變。

我有道理嗎?我怎樣才能找到這些座標?

+1

你嘗試過什麼?這不是一個請爲我的網站代碼。 – deathismyfriend

+0

我意識到這一點。真正的難題是獲得相對於窗口本身的座標,所以我將ImageBox本身的'location'屬性添加到我的座標中,但是在中心位置後我找不到它的位置屬性。 –

+0

在窗體大小調整事件下編寫代碼。 X1:image1.Left,Y1:image1.Top,X2:image1.Width-image1.Left,Y2:image1.Height-image1.Top。那樣。 – 2015-07-11 01:51:40

回答

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