日期:2012-11-13  浏览次数:20392 次

在VB.net中,显示图片很简单:

PictureBox1.Image=Image.FromFile(FileName)

但是这种办法不能用于显示Internet上的图片,因为Image.FromFile不支持URI格式。那么怎么办呢?

其实 .net 为我们准备了一套很方便的方法。在.net中,网上的资源(图片,动画,声音,网页等等)是通过System.Net.WebRequest 和 System.Net.WebResponse 两个类来得到的。简单的说,得到Internet上的图片的步骤是这样的(以http://images.sohu.com/logo1.gif为例):

1. 先通过URI建立一个WebRequest(请参考WebRequest构造函数):
Dim wr As WebRequest = WebRequest.Create("http://images.sohu.com/logo1.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等其他资料吧。