2017-08-29 19 views
0

我嘗試在我的UWP應用程序中放置圖表,因此我找到的最簡單的方法是在我的wfp中使用圖像控件並從googleapis_chart 獲取圖像圖表,但如何將StreamReader印象 ?UWP C#來自streamreader的圖片(請求帖子)

 string postString = "cht=lc&chs=180x180&chxt=x&chd=t:"+data; 
     WebRequest req_googlechart = WebRequest.Create("https://chart.googleapis.com/chart"); 
     req_googlechart.Method = "POST"; 
     req_googlechart.ContentType = "application/x-www-form-urlencoded"; 
     Stream stream_googlechart = await req_googlechart.GetRequestStreamAsync(); 
     StreamWriter requestWriter = new StreamWriter(stream_googlechart); 
     await requestWriter.WriteAsync(postString); 
     requestWriter.Dispose(); 
     WebResponse rep_googlechart = await req_googlechart.GetResponseAsync(); 
     StreamReader reader_googlechart = new StreamReader(rep_googlechart.GetResponseStream()); 
+0

image1.Source = BitmapFrame.Create(reader_googlechart .BaseStream); – sTrenat

+0

也可以使用'using'來查看,而無需自己管理所有處理的東西。上面可能會泄漏很多流媒體內容。 –

+0

@sTrenat No BitmapFrame.Create()in uwp:/ – Andrelec1

回答

0

類型的reader_googlechart .BaseStreamStream,你可以把它用下面的代碼轉換爲BitmapImage。並設置圖像源與BitmapImage

Stream res = reader_googlechart.BaseStream; 
var bitmap = new BitmapImage(); 
using (var mem = new MemoryStream()) 
{ 
    await res.CopyToAsync(mem); 
    mem.Position = 0; 
    await bitmap.SetSourceAsync(mem.AsRandomAccessStream()); 
} 
this.img.Source = bitmap;