我想知道如何使用数组或列表等方式保存墨迹。因为我想用索引变量制作inkcanvas的页面。
这样用户就可以使用索引自由移动页面。
例如,我想保存到目前为止绘制的所有墨迹(不是图像文件),只要我点击下一页按钮。
但现在我无法找到如何保存墨迹并打开保存的墨迹
我想保存文件名和位置而不使用Filesavepicker,以保持文件名和位置不变。这有可能吗?
答案 0 :(得分:1)
我真的很想知道如何用数组或列表等方式保存墨迹。
您可以按InkStrokeContainer.GetStrokes
方法获取InkStroke
只读列表,并按照您希望的方式保存此集合。例如:
IReadOnlyList<InkStroke> strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes();
更多详情请参阅Store and retrieve Windows Ink stroke data。
如果您的目的是加载,可以考虑将笔划保存到文件,或选择所有笔划,然后复制到剪贴板进行粘贴。例如:
private void btnreadd_Click(object sender, RoutedEventArgs e)
{
if (inkCanvas.InkPresenter.StrokeContainer.CanPasteFromClipboard())
{
inkCanvas.InkPresenter.StrokeContainer.PasteFromClipboard(new Windows.Foundation.Point(50, 50));
}
}
private void btncollect_Click(object sender, RoutedEventArgs e)
{
IReadOnlyList<InkStroke> strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes();
foreach (var stroke in strokes)
{
stroke.Selected = true;
}
inkCanvas.InkPresenter.StrokeContainer.CopySelectedToClipboard();
}