1

我需要在 Windows 窗体应用程序中定期显示一些图像。图片的来源是一个固定的 URL 链接。链接中的图片每天都会自动更新。我需要的是让我的应用程序能够每天自动刷新图像。我怎样才能在C++/CLIor中做到这一点C#?我还想提一下,我必须通过代理 IP 和端口才能访问 Internet(链接)。

4

3 回答 3

1

假设它是一个图片框:

private void PopulatePictureBox()
{
 ImageList images = new ImageList();
 images.Images.Add(LoadImage("http://www.website.com/123.jpg"));
 picbox.Image = imagelst.Images[0];
}

假设它是一个 listView 控件:

private void PopulateListView()
{
    ImageList images = new ImageList();
    images.Images.Add(LoadImage("http://www.website.com/123.jpg"));
    images.Images.Add(LoadImage("http://www.website.com/456.jpg"));

    listView1.SmallImageList = images;
    listView1.Items.Add("An item", 0);
    listView1.Items.Add("Another item item", 1);
}

这是从网络获取图像的功能:

private Image LoadImage(string url)
{
    System.Net.WebRequest request =
        System.Net.WebRequest.Create(url);

    System.Net.WebResponse response = request.GetResponse();
    System.IO.Stream responseStream =
        response.GetResponseStream();

    Bitmap bmp = new Bitmap(responseStream);

    responseStream.Dispose();

    return bmp;
}

不确定您是否希望将图片保存到磁盘,我会留给您选择。

于 2012-09-13T05:31:37.290 回答
1

只需使用HttpWebRequestWebClient从 URL 下载图像。然后以任何你想要的方式使用它。两者都具有与代理相关的属性。相应地设置这些,你就可以开始了

于 2012-09-13T05:26:58.370 回答
0

您可以实现一个保存上次刷新日期的例程,并将每小时一次的时间与当前时间进行比较,例如:

current.subtract(lastUpdated).Days > 1
于 2012-09-13T05:27:18.227 回答