如何在wp7中显示来自网络的图像

本文关键字:网络 图像 显示 wp7 | 更新日期: 2023-09-27 18:20:34

我的wp7应用程序中有一个页面,需要在其中显示一个图像。我有一个url数组。它可能包含0到500个url。如果数组中没有url,则会显示一条消息"no Images"。如果url数组中只有一个url,那么应该显示图像。如果它包含多个url,那么我需要显示与页面中的第一个url和下一个按钮相对应的图像。如果我按下下一个按钮,第二个图像将加载,然后应该显示后退按钮。该图像可能具有更大的尺寸,然后应该启用滚动。

我该怎么做?

当我试图在WebBrowser中加载图像时,我得到了一个错误"在它位于可视化树中之前,您不能调用WebBrowser方法。"

如何在wp7中显示来自网络的图像

试试这个,

public void DownloadImages()
{
    HttpWebRequest reqest = (HttpWebRequest)WebRequest.Create(your_url);
    reqest.BeginGetResponse(DownloadImageCallback, reqest1);
}

void DownloadImageCallback(IAsyncResult result)
{
     HttpWebRequest req = (HttpWebRequest)result.AsyncState;
     HttpWebResponse responce = (HttpWebResponse)req1.EndGetResponse(result);
     Stream s = responce.GetResponseStream();
     Deployment.Current.Dispatcher.BeginInvoke(() =>
     {
         bmp = new BitmapImage();
         bmp.SetSource(s);
     });
}

bmp(位图图像)指定为图像源。通过这种方式,您可以从服务器下载图像。

使用WebClient而不是HttpWebRequest要容易得多。

public void LoadImage(string uri)
{
    WebClient wc = new WebClient();
    wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);
    wc.OpenReadAsync(new Uri(uri));
}
private void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    BitmapImage bi = new BitmapImage();
    bi.SetSource(e.Result);             // Here, you got your image
}