2011-12-30 1 views
6

나는 bitmapimage하는 간단한 스트림 (HTTP WebResponse를) 변환, 1000 번 시도, 그러나 아무도 튜토리얼 8C# windows 8에서 간단한 스트림 (http webresponse)을 bitmapimage로 변환하는 방법은 무엇입니까?

예 C#을 윈도우에서 작업하지 않습니다 :

BitmapImage image = new BitmapImage(); 
image.SetSource(stream); 
image1.Source = image; 

감사의 모든 답변합니다.

솔루션

InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream(); 
DataWriter writer = new DataWriter(randomAccessStream.GetOutputStreamAt(0)); 
writer.WriteBytes((byte[])command); 
await writer.StoreAsync(); 
BitmapImage image = new BitmapImage(); 
image.SetSource(randomAccessStream); 
+0

당신에게 스트림이 다시 단지 * RAW 이미지 데이터 *에오고 특정 위치 :

InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream(); DataWriter writer = new DataWriter(randomAccessStream.GetOutputStreamAt(0)); writer.WriteBytes(response.Content.ReadAsByteArray()); BitmapImage image = new BitmapImage(); image.SetSource(randomAccessStream); 
ranksrejoined

+0

그래,하지만 문제는 내가 올바른 방법을 내가 이것을 할 수 있는지 모르겠다. – flatronka

+0

우수! 나는 그것이 작동하게하는 데 필요한 추가 라인을 찾은 것을 기쁘게 생각합니다! –

답변

7

당신이 봤어?

private async Task GetLocalImageAsync(string internetUri, string folderName, 
             string uniqueName) 
{ 
    using (var response = await HttpWebRequest.CreateHttp(internetUri) 
           .GetResponseAsync()) 
    { 
     using (var stream = response.GetResponseStream()) 
     { 
      var folder = await ApplicationData.Current.LocalFolder 
           .CreateFolderAsync(folderName, 
             CreationCollisionOption.OpenIfExists); 
      var file = await folder.CreateFileAsync(
            string.Format("{0}", uniqueName), 
            CreationCollisionOption.ReplaceExisting); 
      using (var filestream = await file.OpenStreamForWriteAsync()) 
      { 
       await stream.CopyToAsync(filestream); 
       await filestream.FlushAsync(); 
      } 
     } 
    } 
} 
+0

randomAccessStream을 수정 한 곳에서 초기화 하시겠습니까? – flatronka

+0

randomacces 남아 스트리밍 0 – flatronka

+0

randomAccessStream {Windows.Storage.Streams.InMemoryRandomAccessStream} Windows.Storage.Streams.InMemoryRandomAccessStream 크기 0 ULONG 작가 {Windows.Storage.Streams.DataWriter} Windows.Storage.Streams.DataWriter 바이트 순서가 bigEndian Windows.Storage.Streams.ByteOrder UnicodeEncoding UTF8 Windows.Storage.Streams.UnicodeEncoding UnstoredBufferLength 10,134 UINT (바이트 []) {e.responseObject 바이트 [10134]}] I 참조 – flatronka

1

이 코드를 시도?
관련 문제