显示网络图片
2004-11-12 10:43
267 查看
原文来源:http://blog.csdn.net/yidinghe/archive/2004/07/04/hyd_01.aspx
在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等其他资料吧。
在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等其他资料吧。
相关文章推荐
- 网络时间协议(NTP)--网络大典
- 网络地址转换(NAT)--网络大典
- XMLHTTP.Open Head 检测网络链接是否存在
- 一些其他站点
- 在oracle 10g AS中,修改端口7777到80 (包含了 OC4J,默认情况下,是不是 J2EE 应用和 Http_Server)
- 关于网络编程(服务端)的一些笔记
- http://www.tmssoftware.com/tmsaspnet.htm#downloads
- XMLHTTP抓取远程数据的后期处理
- protel DXP软件应用技巧
- 用VB打造你自己的网络游戏平台(-)
- 韩国人写的让所有中国人汗颜的绝贴!!!
- AssemblyInfo.cs文件的作用。
- 组播技术概论
- 你的“带宽”有多“宽”?
- 网络学校可以取代传统学校吗?
- 千帆竞发待东风――乱弹网络游戏广告
- TCP/IP协议原理学习笔记(1)
- 使用xmlhttp和Java session监听改善站内消息
- 解开拒绝本地登录的“死结”
- 拦截其它程序的网络数据封包