保存:
保存後にストロークを操作できるようにする場合は、ストロークを保存する必要があります。これを行うには、 StrokeCollection.Saveメソッドを使用します。
var fs = new FileStream(inkFileName, FileMode.Create);
inkCanvas1.Strokes.Save(fs);
次に、これを再度ロードして、個々のストロークにアクセスできるようにします。ただし、一度レンダリングすると(たとえば、ビットマップに)、レンダリングされたファイルはビットマップとしてのみロードでき、個々のストロークとしてはロードできません。(もちろん、両方を実行して、ストロークを別のファイルとして保存することもできます)。ビットマップとして保存するには、投稿したリンクのコードを使用できます。
読み込み中
OpenFileDialog
が画像パスを返すため、画像コントロールへのビットマップのロードは簡単です。
if (myOpenFileDialog.ShowDialog() == DialogResult.OK)
{
myImageControl.Source = new BitmapImage(new Uri(myOpenFileDialog.FileName, UriKind.Absolute));
}
これにより、画像が読み込まれ、フォームの画像コントロールに表示されます。
編集:ビットマップをInkCanvasに直接ロードできるとは思いません。ただし、代わりにストロークをロードできます。
ストロークを再度ロードするには、StrokeCollection(Stream)を使用できます。
var fs = new FileStream(inkFileName,
FileMode.Open, FileAccess.Read);
StrokeCollection strokes = new StrokeCollection(fs);
inkCanvas1.Strokes = strokes;
その他の関数については、このCodeProjectの記事を読むことができます。