ストロークの保存・読込

操作機能の実装で最低限の機能を実装しましたが、これに描画した内容を保存・読み込む機能を実装してみましょう。
保存・読込機能の実装は難しいと思われるかもしれませんが、InkCanvas?ではStrokes(StrokeCollection?)を利用する事により、数行のコードで実装する事ができます。

サンプルの画面レイアウト bookmark

画面レイアウト

上のような画面を作成します。XAMLコードは以下のようになっています。

保存処理 bookmark

保存ボタン(btnStrokeLoad?)が押された場合の処理は、以下のようになっています。

実際に保存処理を行っているのは、16-18行で、引数にStreamを指定して、Saveメソッドを呼び出しているだけです。
このSaveメソッドで保存されたファイルは、ISF (Ink Serialized Format)で保存されます。
また、Saveメソッドの第2引数にTrueを指定する事により、圧縮して保存する事も可能です。

読込処理 bookmark

読込ボタン(btnStrokeLoad?)が押された場合の処理は、以下のようになっています。

実際に読込処理を行っているのは、14-16行で、引数にStreamを指定して、StrokeCollection?を作成して、それをInkCanvas1のStrokesにセットしています。

全体のVBコード bookmark