2017-08-29 12 views
0

私はUWPアプリケーションにチャートを入れようとしています。私が見つけた最も簡単な方法は、私のwfpでImage controleを使用し、googleapis_chartからイメージチャートを取得する方法ですが、StreamReaderイメージに?UWP C#Image from streamreader(request post)

 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

また、 '自分自身を処分するすべてのものを管理する必要はありません。あなたは上記の流れの多くを漏らしているかもしれません。 –

+0

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

答えて

0

reader_googlechart .BaseStreamのタイプは、次のコードでBitmapImageに変換することができ、Streamです。画像ソースを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;