Image Windows 8.1以字符串形式存储xaml save InkManager
我试图将我用铅笔画的东西保存为字符串,我使用SaveAsync()方法将其放入一个IOutputStream中,然后使用AsStreamForWrite()方法将这个IOutputStream转换为一个流。从这一点上说,事情应该会好起来,但是在这一部分之后,我会遇到很多问题,例如,如果我使用以下代码块:Image Windows 8.1以字符串形式存储xaml save InkManager,image,xaml,windows-store-apps,drawing,windows-8.1,Image,Xaml,Windows Store Apps,Drawing,Windows 8.1,我试图将我用铅笔画的东西保存为字符串,我使用SaveAsync()方法将其放入一个IOutputStream中,然后使用AsStreamForWrite()方法将这个IOutputStream转换为一个流。从这一点上说,事情应该会好起来,但是在这一部分之后,我会遇到很多问题,例如,如果我使用以下代码块: using (var stream = new MemoryStream()) { byte[] buffer = n
using (var stream = new MemoryStream())
{
byte[] buffer = new byte[2048]; // read in chunks of 2KB
int bytesRead = (int)size;
while (bytesRead < 0)
{
stream.Write(buffer, 0, bytesRead);
}
byte[] result = stream.ToArray();
// TODO: do something with the result
}
或者,如果我尝试使用InMemoryRandomAccessStream将流转换为图像,如下所示:
InMemoryRandomAccessStream ras = new InMemoryRandomAccessStream();
await s.CopyToAsync(ras.AsStreamForWrite());
InMemoryRandomAccessStream变量的大小始终为零
也试过
StreamReader.ReadToEnd();
但是它返回一个空字符串。在这里找到了答案:
您是否从上面的链接实现了
WriteInk()
方法?如果是,调用WriteInk()
的方法的签名是什么WriteInk()
在wait m_InkCanvas.SaveAsync(流)之后失败当调用'WriteInk()'时,会引发Catastophic失败。你知道怎么解决吗?我的问题是:
StreamReader.ReadToEnd();
private async void ReadInk(string base64)
{
if (!string.IsNullOrEmpty(base64))
{
var bytes = Convert.FromBase64String(base64);
using (var inMemoryRAS = new InMemoryRandomAccessStream())
{
await inMemoryRAS.WriteAsync(bytes.AsBuffer());
await inMemoryRAS.FlushAsync();
inMemoryRAS.Seek(0);
await m_InkManager.LoadAsync(inMemoryRAS);
if (m_InkManager.GetStrokes().Count > 0)
{
// You would do whatever you want with the strokes
// RenderStrokes();
}
}
}
}