inf*_*ity 2 c# memorystream binaryformatter c#-4.0
我想在内存流中保存一个笔画用于此目的是使用BinaryFormatter但是当我尝试序列化Stroke时我得到一个错误,我无法序列化笔画
有没有办法在笔记本中保存笔画或序列化笔画?
这是我的代码的一部分
int size = inkCanvas1.Strokes.Count();
IFormatter formatter = new BinaryFormatter();
MemoryStream stream = new MemoryStream();
if (size != 0)
{
try
{
formatter.Serialize(stream, inkCanvas1.Strokes[size - 1]);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
这不起作用的原因是StrokeCollection没有SerializableAttribute应用.
但是你可以使用这个StrokeCollection.Save方法.
var ms = new MemoryStream();
using (ms)
{
StrokeCollection sc = ...;
sc.Save(ms);
ms.Position = 0;
}
Run Code Online (Sandbox Code Playgroud)
然后当你StrokeCollection再次需要时,你可以使用接受a 的构造函数Stream.
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |