I am developing a Metro App with c# and XAML.
In my app, I need to save the static map into a image like from the location(longitude, latitude): http://dev.virtualearth.net/REST/v1/Imagery/Map/Road/47.619048,-122.35384/15?mapSize=500,500&key=BINGKEY
I have tried many ways to create an image from it by sending the HTTPRequest to that URL, but all in vain.
For example:
HttpWebRequest httpWebRequest = (HttpWebRequest)result.AsyncState;
WebResponse response = httpWebRequest.EndGetResponse(result);
// Retrieve the reponse data.
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
string xml = reader.ReadToEnd();
System.Text.Encoding enc = System.Text.Encoding.UTF8;
Clsses.Common.Instance.imageBytes = enc.GetBytes(xml);
Stream stream = new MemoryStream(Clsses.Common.Instance.imageBytes);
InMemoryRandomAccessStream randomAccessStream = new InMemoryRandomAccessStream();
DataWriter writer = new DataWriter(randomAccessStream.GetOutputStreamAt(0));
writer.WriteBytes(Clsses.Common.Instance.imageBytes);
var result1 = await writer.StoreAsync();
WriteableBitmap wb = new WriteableBitmapresult1 1);
MemoryStream ms = new MemoryStream();
using (IRandomAccessStream writeStream = await sampleFile1.OpenAsync(FileAccessMode.ReadWrite))
{
BitmapEncoder encoder = await BitmapEncoder.CreateAsync(new Guid(), writeStream);
encoder.SetPixelData(BitmapPixelFormat.Rgba8, BitmapAlphaMode.Premultiplied, (uint)wb.PixelWidth, (uint)wb.PixelHeight, 96, 96, Clsses.Common.Instance.imageBytes);
await encoder.FlushAsync();
}
Please help me to Save it as an Image object.