2012-01-21 23 views
0

我正在嘗試在圖片框中移動圖像。我將面板添加到我的應用程序中,並在面板中添加了圖片框。我打開了一張圖片,如果圖片大小很大,我想看看圖片的特定部分。所以我怎樣才能上下移動圖像(不使用滾動條)來查看圖像的特定部分?如何使用鼠標事件在圖片框中移動圖像

+0

PictureBox並沒有使平移圖像容易。改爲移動PictureBox,只需更改其Location屬性。 –

+0

僅僅因爲您在C#上編寫應用程序,請勿使用包含短語'csharp'的標籤。改爲只使用必要的標籤。謝謝。 – abatishchev

回答

1

您可以添加控件,如向左移動,向右移動,向上移動,向下移動相關操作以在圖片框中移動圖片。下面顯示瞭如何將圖像移動到右側的示例。您可以通過鼠標向下和鼠標移動事件來實現這些動作,以便用戶只需按下相應的按鈕即可按需移動圖片。另請注意,一旦達到圖像的最大尺寸,您可以將矩形區域更改爲圖像邊界內的區域。

int ff = 0; //number of positions to move 
Bitmap b2; 
private void button1_Click(object sender, EventArgs e) 
{ 
    if (ff == 0) { b2 = new Bitmap(pictureBox1.Image);} //original image as bitmap b2 
    Bitmap b1 = new Bitmap(pictureBox1 .Width ,pictureBox1.Height); //new bitmap with rectangular region of original image 
    Rectangle r1 = new Rectangle(ff++, 0, pictureBox1.Width, pictureBox1.Height); 
    Graphics g = Graphics.FromImage(b1); 
    g.DrawImage(b2, 0, 0, r1, GraphicsUnit.Pixel); 
    g.Dispose(); 
    pictureBox1.Image = null; 
    pictureBox1.Image = (Image)b1; 
    pictureBox1.Refresh(); 
} 
0

不知道它是否真的回答你的問題,但這似乎是一個有趣的理由來玩Reactive Extensions (Rx)This video很好地展示了這種東西如何與鼠標輸入等異步事件一起工作。

相關問題