2012-09-13 55 views
1

我需要在Windows窗體應用程序中定期顯示一些圖像。圖像的來源是固定的URL鏈接。鏈接中的圖像每天都會自動更新。我需要的是讓我的應用程序能夠每天自動刷新映像。我如何在C++/CLIC#中做到這一點?我還想提及,我必須通過代理IP &端口才能訪問Internet(鏈接)。每天自動刷新圖像

回答

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; 
} 

不確定是否要將圖片保存到磁盤上,我會將該選項留給您。

+0

感謝您組織的明確的代碼,但是如果我在訪問鏈接之前必須通過代理,並且我怎樣才能使它每天檢查刷新,我將使用圖像框。 – Aan

+0

最簡單的方法是設置一個計劃任務以每日運行,下載圖像並將其保存到共享位置。然後設置'picturebox.Image =「\\ san \ DailyImages \ 2012-9-12.jpg」;'。通過代理服務器應該無關緊要,讓我們知道如果它 –

1

只需使用HttpWebRequestWebClient從URL下載圖片。然後以任何你想要的方式使用它。兩者都有與代理相關的屬性。相應地設置這些,你是好去

0

您可以實現日常節省上次刷新日期,並與當前時間比較這每小時一次例如像:

current.subtract(lastUpdated).Days > 1