Hvordan kommer du fra en byte [[]] eller fra en MemoryStream til et System.Windows.Controls.Image i WP7?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal lave en GET-anmodning, der kræver oauth, for og billede at vise på en side. Er der en måde at gøre dette på uden at oprette en brugerdefineret webrequest eller httpwebrequest?

Bedste reference


Hvis det er et billede, skal du sørge for at læse strømmen som binære data.


Noget som:


var httpRequest = (HttpWebRequest)ar.AsyncState;
var httpResponse = (HttpWebResponse)httpRequest.EndGetResponse(ar);

int lengthInBytes = Convert.ToInt32(httpResponse.ContentLength);
BinaryReader br = new BinaryReader(httpResponse.GetResponseStream());
byte[] imageInBytes = new byte[lengthInBytes]; 
using (br)
{
    for (int i = 0; i < lengthInBytes; i++)
    {
        imageInBytes[i] = br.ReadByte();
    }
}

DispatcherHelper.CheckBeginInvokeOnUI(() =>
{
    MemoryStream rawBytesStream = new MemoryStream(imageInBytes);
    BitmapImage img = new BitmapImage();

    img.SetSource(rawBytesStream);
    imageInUI.Source = img;
});