2010-11-08 26 views
1

我試圖根據像this這樣的圖片製作一個簡單的顏色選擇器。所以我需要獲得光標下的顏色,我怎麼能得到它?我所發現的關於這個的所有內容都是關於C#中的桌面應用程序,而不是Silverlight方式。謝謝。如何在Silverlight中的光標下獲取顏色?

回答

0

您不能直接在silverlight中訪問原始圖像數據,因此您需要將數據保存到字節數組中,爲MouseMoveMouseLeftButtonDown添加處理程序以獲取光標的X/Y位置,並從你可以計算從你的字節數組中讀取什麼值,並從中決定你的顏色。

更簡單/更好的方法是定義用於生成顏色選擇器的算法,並直接使用它來計算X/Y輸入所需的RGB值。 即在你的例子那裏,色調正在改變的X值和亮度相對於Y.

+0

謝謝你的回答! – Pavel 2010-11-11 21:19:27

0

你是否自己生成該圖像?或者你想讓它適用於任何圖像?

如果您需要爲任意圖像執行此操作,則需要將圖像渲染到WriteableBitmap中。使用MouseEventArgs.GetPosition()獲取鼠標相對於圖像元素的位置。訪問WriteableBitmap上的像素數組數據,並將鼠標光標的x/y座標轉換爲數組中的索引。

+0

好的,謝謝。我會盡快嘗試。 – Pavel 2010-11-11 21:18:59