2011-08-09 53 views
0

我已經將一輛汽車的圖片加載到這樣的圖片箱中。在裝入圖片箱的圖片上繪圖

private void btn_LoadPattern_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog openFileDialog = new OpenFileDialog(); 
     openFileDialog.Filter = "JPEG Files|*.jpg"; 

     if (openFileDialog.ShowDialog() == DialogResult.OK) 
     { 
      pictureBox1.ImageLocation = openFileDialog.FileName; 
     } 
    } 

我想在此圖片繪製一個矩形,並且在同一形式添加上箭頭按鈕,所以用戶將能夠移動矩形,以指示在圖像上登記板位於。

問題是,如果我開始繪製矩形它被汽車圖片覆蓋。另一個問題是如何在用戶鎖住右/左/上/下按鈕的同時重新繪製新位置的矩形。

Anyhelp將不勝感激。如果你畫在PictureBox應該拿得出在汽車圖像的矩形

pictureBox1.BackgroundImage = Image.FromFile(openFileDialog.FileName); 

現在:

回答

2

在這種情況下,我不會用PictureLocation,我會做這個代替。其次,使用事件PictureBox
像這樣的事情應該做的伎倆。

Rectangle MyRectangle; 
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) 
{ 
    // Create a local version of the graphics object for the PictureBox. 
    Graphics g = e.Graphics; 

    g.DrawRectangle(Pens.Black, MyRectangle); 
} 

而且你應該能夠處理擊鍵按方向鍵修改MyRectangle,然後調用pictureBox1.Invalidate()Paint事件重新繪製矩形在新的位置。