Silverlight的Ink機制
Silverlight一直以來就有所謂的Ink手寫功能,過去我很少提到這部分,最近有一位讀者問到操作的方式,因此一併在BLOG上介紹。
InkPresenter控制項是筆墨的關鍵,你可以透過InkPresenter的Strokes集合屬性,把一個或多個Stroke物件加入Strokes集合中,而Stroke物件的StylusPoints屬性所表達的就是一群連續的點,用來在畫面上呈現出各種線條。
而透過滑鼠的MouseMove事件,我們可以很輕易的取得滑鼠經過的每一個點,例如:
[測試範例] [完整範例程式碼下載]
當然,Ink機制也可以跟Multi-Touch配合,關於這部分在下一期的Run!PC當中會配合Multi-Touch一併介紹與說明,有興趣的讀者可以參考Run!PC 11月號。
InkPresenter控制項是筆墨的關鍵,你可以透過InkPresenter的Strokes集合屬性,把一個或多個Stroke物件加入Strokes集合中,而Stroke物件的StylusPoints屬性所表達的就是一群連續的點,用來在畫面上呈現出各種線條。
而透過滑鼠的MouseMove事件,我們可以很輕易的取得滑鼠經過的每一個點,例如:
如此一來,我們就可以輕易的建立出可以手寫繪製的畫板了。
private void InkCanvas_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
{
//將每一點加入NewStroke
NewStroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(InkPresenter1));
}
[測試範例] [完整範例程式碼下載]
當然,Ink機制也可以跟Multi-Touch配合,關於這部分在下一期的Run!PC當中會配合Multi-Touch一併介紹與說明,有興趣的讀者可以參考Run!PC 11月號。
留言