获取InkCanvas数据以进行实时绘制

时间:2019-03-15 01:06:30

标签: c# uwp

在UWP中,我每天都在阅读Microsoft文档,找不到使用SignalR内核在不同客户端上广播笔划值来广播其他InkCanvas的方法。你们知道如何获取当前的InkCanvas值以便我可以广播吗?

1 个答案:

答案 0 :(得分:0)

可以将InkCanvas的所有笔画与流之间的序列化和反序列化:

inkCanvas.InkPresenter.StrokeContainer.SaveAsync(outputStream);

还有

inkCanvas.InkPresenter.StrokeContainer.LoadAsync(inputStream);

Docs包含完整的示例。

万一您不想保留“重画”功能(在这种实时情况下效率不高),您还可以逐个序列化并发送单个笔画。 InkStroke类具有GetInkPoints method,可返回笔划中的点列表。您可以序列化这些笔画,并在连接的客户端上使用InkStrokeBuilder重新创建笔画。