在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等其他资料吧。
