2011-06-15 50 views
3

圖1,我有一個或幾個圖片,和一些mp3文件。我想開發一個winform並將圖片加載到winform中,然後,當鼠標懸停在圖片的某些區域上時,該區域會發生變化,並在點擊鼠標時播放mp3文件。開發這樣的winform使用c#

問題:???我怎麼知道鼠標放在指定區域,然後更改區域如何知道鼠標點擊該區域的顏色和播放mp3文件

這些區域可以是圓形,橢圓形,矩形... 也許這是熱點圖像問題。

誰能幫助我?謝謝!

Figure

+3

我會建議使用替代的WinForms WPF。在Winforms中,我們有像OnMouseDown/OnMouseUp/OnMouseMove這樣的鼠標事件,您可以使用它們並完成相同的操作。 – kanchirk 2011-06-15 17:28:52

回答

1

使用OvalShapeMouseHover事件。然後簡單地調用代碼來修改不透明度/顏色/橢圓的任何東西,並播放一個單獨的問題的MP3。

1

要做到這一點的一種方法是創建一個具有白色或黑色背景的相同大小的隱藏位圖,並用不同的顏色爲每個氣泡着色。

然後,你可以做這樣的事情:

private void Form1_MouseMove(object sender, MouseEventArgs e) 
{ 
    int foundColor = _Mask.GetPixel(e.X, e.Y).ToArgb(); 

    if (foundColor == Color.Red.ToArgb()) 
    // do something with this bubble 
    else if (foundColor == Color.Blue.ToArgb()) 
    // do something with this bubble 
    else 
    // do nothing 
}