[英]How to convert a simple stream(http webresponse) to bitmapimage in c# windows 8?
I try 1000 times, to convert a simple stream (http webresponse) to bitmapimage, but no one tutorial is working in c# windows 8. 我尝试了1000次,将一个简单的流(http webresponse)转换为bitmapimage,但没有一个教程在c#windows 8中工作。
Example: 例:
BitmapImage image = new BitmapImage();
image.SetSource(stream);
image1.Source = image;
Thank's for all reply. 感谢所有回复。
Solution 解
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);
Have you tried this? 你试过这个吗?
InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream();
DataWriter writer = new DataWriter(randomAccessStream.GetOutputStreamAt(0));
writer.WriteBytes(response.Content.ReadAsByteArray());
BitmapImage image = new BitmapImage();
image.SetSource(randomAccessStream);
Try this code: 试试这段代码:
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();
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.