теперь у меня возникла проблема с преобразованием байтового массива в 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 и устанавливаю reatust datapack, чтобы разделить изображение с другим приложением
private static async void OnDeferredImageStreamRequestedHandler(DataProviderRequest Request)
{
DataProviderDeferral deferral = Request.GetDeferral();
InMemoryRandomAccessStream stream = await ConvertTo(arr);
RandomAccessStreamReference referenceStream =
RandomAccessStreamReference.CreateFromStream(stream);
Request.SetData(referenceStream);
}
Но в результате я не могу передать массив байтов изображения другому приложению, возникает ли у моего кода проблема? По-моему, ошибка возникает при преобразовании байта [] в InMemoryRandomAccessStream, но это не исключение.
Кто-нибудь знает, как это сделать? А также, если вы можете преобразовать массив байтов в IRandomAccessStream, то то же самое может мне помочь. Или другая ошибка в моем коде?