将 Ink Canvas StrokeCollection 保存到流/从流中加载
Posted
技术标签:
【中文标题】将 Ink Canvas StrokeCollection 保存到流/从流中加载【英文标题】:Save and load Ink Canvas StrokeCollection to/from stream 【发布时间】:2021-10-26 23:37:41 【问题描述】:我正在尝试在 WPF 中序列化墨水画布。所以我使用StrokeCollection.Save
将笔画保存到MemoryStream
。但是当我尝试将流加载到 InkCanvas
中时,我得到一个 ArgumentException
声明“ISF 数据的长度必须大于零。”
这是代码示例:
using (MemoryStream ms = new MemoryStream())
inkcanvas.Strokes.Save(ms);
inkcanvas.Strokes = new System.Windows.Ink.StrokeCollection(ms);
我在这里错过了什么?
【问题讨论】:
【参考方案1】:您是否检查了您的信息流的Position
?
我认为在将笔划保存到其中后,它将指向它的结尾。 尝试将位置重置为第一个字符,如下所示:
using (MemoryStream ms = new MemoryStream())
inkcanvas.Strokes.Save(ms);
ms.Position = 0;
inkcanvas.Strokes = new System.Windows.Ink.StrokeCollection(ms);
【讨论】:
以上是关于将 Ink Canvas StrokeCollection 保存到流/从流中加载的主要内容,如果未能解决你的问题,请参考以下文章
INK Blockchain Explorer首发上线,Ink生态迎来区块链浏览器
波卡周报 | Sub0 开发者大会将带来平行链桥ink! 3.0Substrate 生态的最新进展