如何在指定站点 URL 的 PictureBox 中显示网站的 Favicon
How to show the Favicon of a Web Site in a PictureBox specifying the Site's URL
我正在创建一个书签管理器,用户可以在其中通过指定 URL.
向站点添加书签
我想在打开站点时获取标题栏上显示的图像,例如打开 www.google.com
时的 Google 图标。
您所指的图片是网站的 Favicon (favicon.ico
)。
大多数网站都直接公开此资源(在网站的根目录中)。可以通过直接请求访问和下载:
让我们创建一个目录来存储这些图标,并直接向站点询问其Favicon
:
Dim faviconsPath As String = Path.Combine(Application.StartupPath, "Favicons")
If Not Directory.Exists(faviconsPath) Then Directory.CreateDirectory(faviconsPath)
Dim client = New WebClient()
Dim webSiteDomain = "google.com"
client.DownloadFile("http://www.google.com/favicon.ico", Path.Combine(faviconsPath, webSiteDomain & ".ico"))
PictureBox1.Image = New Bitmap(Path.Combine(faviconsPath, webSiteDomain & ".ico"))
您还可以使用 Google 的专用服务 (http://www.google.com/s2/favicons
) 并请求 Favicon,指定网站的域。请注意,它实际上会给你一个 PNG
图像:
(使用之前定义的相同存储路径)
Dim client = New WebClient()
Dim webSiteDomain = "whosebug.com"
Dim googleService = New Uri("http://www.google.com/s2/favicons?domain=" & webSiteDomain)
client.DownloadFile(googleService, Path.Combine(faviconsPath, webSiteDomain & ".ico"))
PictureBox1.Image = New Bitmap(Path.Combine(faviconsPath, webSiteDomain & ".ico"))
如果可用,请使用内插字符串。例如:
PictureBox1.Image = New Bitmap(Path.Combine(faviconsPath, $"{webSiteDomain}.ico"))
我正在创建一个书签管理器,用户可以在其中通过指定 URL.
向站点添加书签
我想在打开站点时获取标题栏上显示的图像,例如打开 www.google.com
时的 Google 图标。
您所指的图片是网站的 Favicon (favicon.ico
)。
大多数网站都直接公开此资源(在网站的根目录中)。可以通过直接请求访问和下载:
让我们创建一个目录来存储这些图标,并直接向站点询问其Favicon
:
Dim faviconsPath As String = Path.Combine(Application.StartupPath, "Favicons")
If Not Directory.Exists(faviconsPath) Then Directory.CreateDirectory(faviconsPath)
Dim client = New WebClient()
Dim webSiteDomain = "google.com"
client.DownloadFile("http://www.google.com/favicon.ico", Path.Combine(faviconsPath, webSiteDomain & ".ico"))
PictureBox1.Image = New Bitmap(Path.Combine(faviconsPath, webSiteDomain & ".ico"))
您还可以使用 Google 的专用服务 (http://www.google.com/s2/favicons
) 并请求 Favicon,指定网站的域。请注意,它实际上会给你一个 PNG
图像:
(使用之前定义的相同存储路径)
Dim client = New WebClient()
Dim webSiteDomain = "whosebug.com"
Dim googleService = New Uri("http://www.google.com/s2/favicons?domain=" & webSiteDomain)
client.DownloadFile(googleService, Path.Combine(faviconsPath, webSiteDomain & ".ico"))
PictureBox1.Image = New Bitmap(Path.Combine(faviconsPath, webSiteDomain & ".ico"))
如果可用,请使用内插字符串。例如:
PictureBox1.Image = New Bitmap(Path.Combine(faviconsPath, $"{webSiteDomain}.ico"))