我有一个问题,无法将字节数组转换为 InMemoryRandomAccessStream
或 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[]
转换为 InMemoryRandomAccessStream
时存在错误,但它并不会抛出异常。
有人知道如何实现吗?
如果有人知道如何将字节数组转换为 IRandomAccessStream
,也感激不尽。