如何在wp7中显示来自网络的图像
本文关键字:网络 图像 显示 wp7 | 更新日期: 2023-09-27 18:20:34
我的wp7应用程序中有一个页面,需要在其中显示一个图像。我有一个url数组。它可能包含0到500个url。如果数组中没有url,则会显示一条消息"no Images"。如果url数组中只有一个url,那么应该显示图像。如果它包含多个url,那么我需要显示与页面中的第一个url和下一个按钮相对应的图像。如果我按下下一个按钮,第二个图像将加载,然后应该显示后退按钮。该图像可能具有更大的尺寸,然后应该启用滚动。
我该怎么做?
当我试图在WebBrowser中加载图像时,我得到了一个错误"在它位于可视化树中之前,您不能调用WebBrowser方法。"
试试这个,
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
}