关于提取网站图标的小困惑?
在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.用第三个例子第一种方法出错的原因,两种方法的效率哪种更好?
希望大家帮助一下!
------解决方案--------------------效率差不多,思路都一样。出错你检查下,是随机的还是总出错。