teraz mam problem, w jaki sposób konwertować tablicy bajtów do InMemoryRandomAccessStream lub IRandomAccessStream w systemie Windows 8?Jak przekonwertować tablicę bajtów na InMemoryRandomAccessStream lub IRandomAccessStream w systemie Windows 8
To jest mój kod, ale did't pracy, patrz poniższy kod
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;
}
I wtedy stworzyć RandomAccessStreamReference i ustawić datapack requst aby podzielić obraz do innej aplikacji
private static async void OnDeferredImageStreamRequestedHandler(DataProviderRequest Request)
{
DataProviderDeferral deferral = Request.GetDeferral();
InMemoryRandomAccessStream stream = await ConvertTo(arr);
RandomAccessStreamReference referenceStream =
RandomAccessStreamReference.CreateFromStream(stream);
Request.SetData(referenceStream);
}
Ale wynik jest taki, że nie mogę udostępnić tablicy bajtów obrazu innej aplikacji, Czy mój kod ma problem? Moim zdaniem, błąd występuje po konwersji bajtu [] na InMemoryRandomAccessStream, ale nie wyrzucił wyjątku.
Ktoś wie, jak to zrobić? A także, jeśli możesz przekonwertować tablicę bajtów na IRandomAccessStream, to samo może mi pomóc. Lub inny błąd w moim kodzie?
co dokładnie jest nie tak z kodem masz? –
Proszę sprawdzić [to] (http://canbilgin.wordpress.com/2012/06/06/how-to-convert-byte-array-to-irandomaccessstream/) i powiedz mi, czy możesz rozwiązać problem. – Xyroid