在VB.Net中,顯示圖片很簡單:
PictureBox1.Image=Image.FromFile(FileName)
但是這種辦法不能用於顯示Internet上的圖片,因為Image.FromFile不支持URI格式。那麼怎麼辦呢?
其實 .net 為我們准備了一套很方便的方法。在.net中,網上的資源(圖片,動畫,聲音,網頁等等)是通過System.Net.WebRequest 和 System.Net.WebResponse 兩個類來得到的。簡單的說,得到Internet上的圖片的步驟是這樣的(以/School/UploadFiles_7810/201105/20110521161944104.gif為例):
1. 先通過URI建立一個WebRequest(請參考WebRequest構造函數):
Dim wr As WebRequest = WebRequest.Create("/School/UploadFiles_7810/201105/20110521161944104.gif")
2. 然後通過其GetResponse方法得到一個WebResponse:
Dim res As WebResponse= wr.GetResponse
3. 通過WebResponse.GetResponseStream方法得到的流來創建Bitmap:
Dim bmp As New Bitmap(res.GetResponseStream)
4. 這樣,就能顯示圖片了:
PictureBox1.Image=bmp
怎麼樣,不復雜吧。有兩點要注意,一是要把這段代碼用try包起來,因為服務器返回404等錯誤的時候會引發異常;二是最好把這個過程放到單獨的線程裡,以免程序界面沒有響應。
System.Net.WebRequest 和 System.Net.WebResponse 不僅可以用於獲得Internet圖片,還可以用於獲得其他資源。如果你想多了解,就去看看MSDN等其他資料吧。