每天自动刷新图像

时间:2012-09-13 05:20:29

标签: c# winforms visual-c++ c++-cli

我需要在Windows窗体应用程序中定期显示一些图像。图像的来源是固定的URL链接。链接中的图像每天自动更新。我需要的是让我的应用程序能够自动每天刷新图像。如何在C++/CLIC#中执行此操作?我还想提一下,我必须通过代理IP&端口以访问Internet(链接)。

3 个答案:

答案 0 :(得分:1)

只需使用HttpWebRequestWebClient从网址下载图片即可。然后以任何你想要的方式使用它。两者都具有与Proxy相关的属性。相应地设置,你很高兴

答案 1 :(得分: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;
}

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

答案 2 :(得分:0)

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

current.subtract(lastUpdated).Days > 1