第 4 回めとべや東京勉強会で、セッションのほかに LT もやったので、資料を公開します。
WPF には InkCanvas というストローク入力用のコントロールが用意されており、XAML で <InkCanvas />
と入力するだけで、筆圧検知付きのデジタル インク機能を使うことができます。
そして、InkCanvas はストローク入力のほか、インク情報 (色や太さなど) の変更、消しゴム機能などもサポートしており、手書きキャンバス機能をごく簡単に実装できます (その実装については、今回は割愛)。
で、今回の LT で言いたかったのは、ペン or タッチでのストローク入力のパフォーマンスが大変よろしい、という点です。
資料にある通り、UI スレッドのほかに 2 つのスレッドを使用しているためです。
LT 中にデモしましたが、UI スレッドが止まっていても、ストロークの入力&描画は止まりません。
手書きの際の書き味はハードウェアに依存するところが大きいですが、ソフトウェアによる影響も少なからず存在します。
WPF の Digital Ink 機能は、複数のスレッドで入力&描画することで、ソフトウェアでの書き味の良さを追及しています。
というお話でした。ご参考まで。