1

我想知道如何用数组或列表等方式保存笔画。因为我想用索引变量制作inkcanvas的页面。

这样用户就可以使用索引自由移动页面。

例如,我想保存到目前为止绘制的所有墨迹(不是图像文件),只要我单击下一页按钮。

但是现在我找不到如何保存笔画并打开保存的笔画

我想在没有 Filesavepicker 的情况下保存文件名和位置,以保持文件名和位置固定。这可能吗?

4

1 回答 1

1

我真的很想知道如何使用数组或列表等方式保存笔画。

您可以InkStroke通过方法获取只读列表 InkStrokeContainer.GetStrokes并以您想要的方式保存此集合。例如:

IReadOnlyList<InkStroke> strokes = inkCanvas.InkPresenter.StrokeContainer.GetStrokes();

更多详细信息请参考存储和检索 Windows Ink 笔画数据

如果您的目的是加载,您可以考虑将笔画保存到文件中,或者选择所有笔画然后复制到剪贴板进行粘贴。例如:

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();
}
于 2018-04-11T05:47:57.447 回答