[Windows 10] Inking: 筆跡功能的應用及實作
Windows 10 推出之後將支援許多種的輸入 (input) 方式,包括 Windows Hello 透過臉部特徵或虹膜取代密碼輸入、HoloLens 利用全息虛擬實境技術與人作 3D 互動等等。
本文則將介紹 Windows 10 加強後的筆跡 (Pen & Ink) 技術。 對開發者而言,多了 InkCanvas 控制項與基礎 DirectInk 類別,可以使用您已熟悉的程式語言如: C++、C# 或 Visual Basic 等,在 Windows 10 Apps 中實現更強大的筆跡功能。
比如:
叫出地圖後,用筆(或手指)畫上路線圖:
在連線遊戲中,即時紀錄如「狙擊手在右邊建築物屋頂」的筆跡訊息:
用原始筆跡回信:
或是先轉成文字…
Windows 10 在 Pen & Ink 的擴充性
要作到以上應用, Windows 10 提供的 InkCanvas 控制項定義了一個用於繪圖以及轉譯筆跡筆觸的重疊區域。此控制項的功能 (輸入、處理和轉譯) 則來自 InkPresenter、InkStroke、InkRecognizer 與 InkSynchronizer 等類別。
(目前使用 JavaScript 的 Windows 應用程式不支援這些類別)
也就是說,無論使用者是以「觸控筆」或是「手指」作輸入所得到的 “Ink” 物件,都能以原始筆跡、加上述解或描述 (metadata)、亦或轉譯成文字或圖檔等方式,作進一步創意的實踐。
開始實作吧!
假設我想在一個影像 (image) 上面疊一個筆跡畫布,在 XAML 描述中只要多加一個 InkCanvas 即可,非常直覺簡單:
<ScrollViewer>
<Grid>
<Image Source="Assets/signature.jpg" />
<InkCanvas x:Name="myInkCanvas" />
</Grid>
</ScrollViewer>
執行畫面如以下,各位可注意其中細微的筆觸差異,這些都會被紀錄在 Ink 物件中;同時寫字速度等資訊也會被紀錄下來,可作為進一步 (如筆跡辨認) 的應用。
想更進一步了解 Windows 10 在筆跡功能上的應用,請參考以下 10 分鐘的影片: (Developer's Guide to Windows 10 Preview: (07) Pen & Ink)
註:
若要嘗試這些新功能:
- 請加入 Windows Insider Program,取得並安裝 Windows 10 Developer Preview.
- 取得並安裝 Visual Studio 2015 CTP. (目前版本為 CTP6)
- 新專案中即會出現 Windows 10 Universal App 的範本。
同時:
1. 若您在測試過程中遇到問題:
- 請先檢視 release notes 以及 known issues with Visual Studio 2015 CTP6,查看是否為已知問題。
- 使用 Windows Store 及 Windows Phone Apps 論壇詢問。
- 若您發現的確是個 bug,可透過 Windows 10 內建的 Feedback App 來回報協助。
2. 若您對 API 有任何新功能的需求,則可透過 Windows platform developer UserVoice site 來建議,這網站會在 BUILD 2015 前持續更新,反應最新的 API 功能。