日期:2014-05-17  浏览次数:20879 次

关于提取网站图标的小困惑?
在yuwenge和hwenycocodq520两位大侠的帮助下成功提取网站图标,再次感谢!
详见如何象IE浏览器一样,在选项卡上显示网站的图标?
yuwenge提供的思路:

 Dim t_WebClient As New WebClient
 Dim Icon_B As Byte() = t_WebClient.DownloadData(faviconIcon)
 ‘下面是在网上找到的byte转image
 Using ms As New MemoryStream(Icon_B)
       ms.Write(Icon_B, 0, Icon_B.Length)
       Return Image.FromStream(ms, True)
 End Using


hwenycocodq520提供的思路:

 Dim request As WebRequest = WebRequest.Create(faviconIcon)
 Dim response As WebResponse = request.GetResponse()
 Dim s As Stream = response.GetResponseStream()
 Return Image.FromStream(s)

用三个网站进行了测试
1.faviconIcon = "http://www.hao123.com/favicon.ico"
两种方法都可以
2.faviconIcon = "http://csdnimg.cn/www/images/favicon.ico"
两种方法都可以
3.faviconIcon = "http://www.baidu.com/favicon.ico"
第一种方法出错(显示在picturebox中是红叉),第二种方法可以

我的困惑是:
1.获得的1图标是16*16,但是2、3图标不是16*16,如何用简单方法转成16*16
2.用第三个例子第一种方法出错的原因,两种方法的效率哪种更好?

希望大家帮助一下!

------解决方案--------------------
效率差不多,思路都一样。出错你检查下,是随机的还是总出错。