足够简单的问题:我创建了一个小应用程序,它基本上只是我系统托盘中的一个收藏夹,这样我就可以从同一个地方打开常用的网站/文件夹/文件。从我的系统获取已知文件类型的默认图标并不是非常复杂,但我不知道如何从网站获取图标。 (例如,地址栏中有灰色->橙色堆栈图标)
有人知道我该怎么做吗?
最佳答案
您需要通过几种方式解决此问题:
寻找
favicon.ico
在域的根www.domain.com/favicon.ico
寻找
<link>
标记为rel="shortcut icon"
属性<link rel="shortcut icon" href="/favicon.ico" />
寻找
<link>
标记为rel="icon"
属性<link rel="icon" href="/favicon.png" />
后两者通常会产生更高质量的图像。
只是为了涵盖所有基础,有一些特定于设备的图标文件可能会产生更高质量的图像,因为这些设备上的图标通常比浏览器需要的要大:
<link rel="apple-touch-icon" href="images/touch.png" />
<link rel="apple-touch-icon-precomposed" href="images/touch.png" />
要下载图标而不关心图标是什么,您可以使用类似 http://www.google.com/s2/favicons 的实用程序这将完成所有繁重的工作:
var client = new System.Net.WebClient();
client.DownloadFile(
@"http://www.google.com/s2/favicons?domain=stackoverflow.com",
"stackoverflow.com.ico");
关于c# - 我怎样才能得到一个网站的图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5119041/