将字符串转换为流
Converting String to Stream
所以我正在尝试为我的 UWP 应用序列化和反序列化来自 Windows.UI.Input.Inking
的 IReadOnlyList<InkStroke>
,并且我使用了以下代码来序列化数据:
var stream = new InMemoryRandomAccessStream();
await canvas.InkPresenter.StrokeContainer.SaveAsync(stream);
await stream.FlushAsync();
var buffer = new byte[stream.Size];
await stream.AsStream().ReadAsync(buffer, 0, buffer.Length);
return Convert.ToBase64String(buffer);
如何反序列化此字符串以创建可在 StrokeContainer.LoadAsync()
方法中使用的 IInputStream
(或 IRandomAccessStream
)?
您可以使用下面的一段代码....
byte[] bytes = Convert.FromBase64String(stringinput);
MemoryStream stream = new MemoryStream(bytes);
IInputStream is=stream.AsRandomAccessStream(); //It will return an IInputStream object
尝试 this:
byte[] data = Convert.FromBase64String(encodedString);
InMemoryRandomAccessStream inputStream = new InMemoryRandomAccessStream();
await inputStream.WriteAsync(data.AsBuffer());
inputStream.Seek(0);
await canvas.InkPresenter.StrokeContainer.LoadAsync(inputStream);
所以我正在尝试为我的 UWP 应用序列化和反序列化来自 Windows.UI.Input.Inking
的 IReadOnlyList<InkStroke>
,并且我使用了以下代码来序列化数据:
var stream = new InMemoryRandomAccessStream();
await canvas.InkPresenter.StrokeContainer.SaveAsync(stream);
await stream.FlushAsync();
var buffer = new byte[stream.Size];
await stream.AsStream().ReadAsync(buffer, 0, buffer.Length);
return Convert.ToBase64String(buffer);
如何反序列化此字符串以创建可在 StrokeContainer.LoadAsync()
方法中使用的 IInputStream
(或 IRandomAccessStream
)?
您可以使用下面的一段代码....
byte[] bytes = Convert.FromBase64String(stringinput);
MemoryStream stream = new MemoryStream(bytes);
IInputStream is=stream.AsRandomAccessStream(); //It will return an IInputStream object
尝试 this:
byte[] data = Convert.FromBase64String(encodedString);
InMemoryRandomAccessStream inputStream = new InMemoryRandomAccessStream();
await inputStream.WriteAsync(data.AsBuffer());
inputStream.Seek(0);
await canvas.InkPresenter.StrokeContainer.LoadAsync(inputStream);