夏天车间生产文章:VB程序中能显示网络图片吗?

来源:百度文库 编辑:中科新闻网 时间:2024/05/07 16:16:37
VB程序中有什么办法实现显示网络上的图片的?或者有什么第三方控件!要求能显示gif格式的图片..
就好像一些软件上的图片广告一样.运行后能加载指定的一张网络图片...
请大家先看清楚题目再答!不是单单显示图片.要求的是显示网络上的图片...
最好不用到.net
--------------
没有满意答案!本问题即将关闭...请朋友们在最后的时间帮忙给于最佳答案!PS:不要.net

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