我在将字节数组转换为InMemoryRandomAccessStream
or IRandomAccessStream
在 Windows 8 中?
这是我的代码,但它不起作用:
internal static async Task<InMemoryRandomAccessStream> ConvertTo(byte[] arr)
{
InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream();
Stream stream = randomAccessStream.AsStream();
await stream.WriteAsync(arr, 0, arr.Length);
await stream.FlushAsync();
return randomAccessStream;
}
我创建了RandomAccessStreamReference
并设置请求数据包以便将图像共享给其他应用程序
private static async void OnDeferredImageStreamRequestedHandler(DataProviderRequest Request)
{
DataProviderDeferral deferral = Request.GetDeferral();
InMemoryRandomAccessStream stream = await ConvertTo(arr);
RandomAccessStreamReference referenceStream =
RandomAccessStreamReference.CreateFromStream(stream);
Request.SetData(referenceStream);
}
没有例外,但我不能使用结果图像字节数组
我认为转换时出现错误byte[]
to InMemoryRandomAccessStream
,但它不会引发异常。
有人知道如何实施吗?
如果有人知道如何将字节数组转换为IRandomAccessStream
,也值得赞赏
在 Windows 8.1 上,这甚至更容易,因为我们添加了 AsRandomAccessStream 扩展方法:
internal static IRandomAccessStream ConvertTo(byte[] arr)
{
MemoryStream stream = new MemoryStream(arr);
return stream.AsRandomAccessStream();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)