2012-02-05 52 views
30

通常認爲好的做法是以多種尺寸提供favicon.ico,因爲這樣當製作快捷方式或站點被固定時(IE9),它看起來會更好。儘管如此,favicon的大小很容易增加十倍,這會導致站點加載速度較慢(在我的情況下,16x16圖標爲1kb,16,32,64 = 30kb)。如何擁有多個favicon尺寸,但默認只提供16x16的尺寸?

像Facebook和雅虎這樣的網站在默認情況下會提供一個16x16的圖標,它是< 1kb,但是當您固定這些網站時,使用的圖片大小適當。我認爲只有在需要時才加載更大的圖片,這可以解決困境。我沒有試圖弄清楚這些網站是如何做到這一點的。有人知道嗎?

+0

您是否遇到了與您打交道的具體問題?請閱讀[常見問題]以瞭解這裏允許哪些類型的問題... – Lix 2012-02-05 16:12:09

+3

如何確保以多種尺寸提供圖標,而不會過大。對於大多數用戶只能在16x16中看到的圖標使用10kb +是一種浪費,考慮到Facebook的是152字節,但它們實現了同樣的效果。看起來像一個特定的編程問題給我? – user1190803 2012-02-05 16:21:29

+3

你所要求的是關於系統如何工作的細節。如果您試圖在自己的網站上實現此功能,並且遇到困難,那麼它會更具體,因爲您可以發佈代碼/關於您嘗試的更多信息。有很多問題問「Facebook如何做X」......這些都不是特定的問題,而是吸引投機而不是知識的答案/解決方案。我的意思是沒有不尊重我的朋友 - 我只是想告訴你,你的問題(目前的形式)可能不適合這個論壇... – Lix 2012-02-05 16:25:08

回答

35

更新:

我原來的答案是低於,但是,因爲寫這篇文章,我相信有可能是一個更好的方式來處理與HTML 5網頁圖標我將創建一個32×32圖標(僅大小)對於Internet Explorer 9及更低版本,但使用其他方法爲其他瀏覽器(包括移動設備)創建更高分辨率的圖標(PNG文件類型)。您可以通過see my answer here瞭解更多信息。


原始答覆問題

這裏是它是如何做:

  1. Download png2ico。提取到c:\

  2. 在您最喜歡的程序中創建您的圖標。創建一個64x64,32x32,16x16。 (注意:64x64可能不需要,會增加文件大小,但至少要使用32x32和16x16)另存爲icon-64.png(適用於64x64大小)icon-32.png(32x32)和icon-16.png( 16x16)與png2ico在同一個文件夾中。保持最低的顏色。

  3. 打開命令提示符 - 將目錄切換到png2ico文件夾。 (cd \png2ico

  4. 一旦在正確的目錄運行此命令:

    png2ico.exe favicon.ico --colors 16 icon-64.png icon-32.png icon-16.png 
    

    注:增加了一個64×64大小的圖標的文件大小的差異由2KB的文件增加。我只會使用32x32和16x16。 (運行與上面相同的代碼刪除icon-64.png

  5. 從png2ico文件夾中獲取favicon.ico文件。上傳到服務器添加<link rel="shortcut icon" href="http://example.com/favicon.ico" />頭,你很好去。

當你在它繼續前進,創造iPad和iPhone的圖標。 You can find more info on recommended sizes here and how to implement them into your site

另外more general info在Favicons上可以找到這裏。

注意:我不知道Facebook或雅虎是如何做到這一點,但是這會回答你如何做的問題。

+3

我發現[Niall的png2ico](http://www.niallmoody.com/apps/nialls-png2ico)更容易使用,它也支持完整的Alpha通道。 – Twilite 2012-04-02 15:19:12

+1

在Ubuntu上,您可以按照http://steve.kargs.net/hosting/create-a-website-faviconico-with-ubuntu-linux/ – 2012-08-07 03:55:44

+7

使用icotool這不解決OP的問題。他問如何在不使用臃腫的ICO文件的情況下提供各種尺寸。 – 2012-10-21 23:35:27

19

Facebook「favicon.ico」包含兩種尺寸:16x16和32x32。我相信你知道如何將兩個ico圖像合併爲一個,然而,「訣竅」是他們正在使用兩個非常優化的圖像。

我發現Photoshop創建了臃腫的PNG文件和臃腫的ICO文件。 (注意:Photoshop需要一個插件來創建ICO文件。)

我發現創建小型,經過優化的ICO文件的最佳方式是使用名爲「Gimp」的着名免費圖像編輯器。總之,只需按照本教程創建ICO文件:
http://egressive.com/tutorial/creating-a-multi-resolution-favicon-including-transparency-with-the-gimp
重要提示:當您到達保存.ico圖像的步驟並且可以指定每像素點數(bpp)時,將其更改爲4bpp或者類似的東西(你必須試驗一下,在不降低圖像質量的情況下你可以走多低)。

使用上面的說明,我能夠創建一個包含16x16和32x32圖像的1kb圖標。相比之下,使用Photoshop,插件和其他各種工具最小的我可以得到相同的圖標5kb。

+2

+1使用GIMP – raykendo 2013-02-08 14:25:48

+4

現在鏈接已死。存檔副本在這裏:http://web.archive.org/web/20130124171138/http://egressive.com/tutorial/creating-a-multi-resolution-favicon-including-transparency-with-the-gimp – simon 2013-07-16 01:17:34

+0

新的URL是以下內容:http://catalyst.net.nz/tutorial/creating-a-multi-resolution-favicon – drAlberT 2014-02-17 12:56:49

4

或者您可以登錄任何安裝了ImageMagick的linux系統,將您的源圖像(分辨率至少爲256x256像素和PNG格式文件)重命名爲'favicon.png',然後運行以下命令:

convert favicon.png -bordercolor white -border 0 \ 
     \(-clone 0 -resize 16x16 \) \ 
     \(-clone 0 -resize 32x32 \) \ 
     \(-clone 0 -resize 48x48 \) \ 
     \(-clone 0 -resize 57x57 \) \ 
     \(-clone 0 -resize 64x64 \) \ 
     \(-clone 0 -resize 72x72 \) \ 
     \(-clone 0 -resize 110x110 \) \ 
     \(-clone 0 -resize 114x114 \) \ 
     \(-clone 0 -resize 120x120 \) \ 
     \(-clone 0 -resize 128x128 \) \ 
     \(-clone 0 -resize 144x144 \) \ 
     \(-clone 0 -resize 152x152 \) \ 
     \(-clone 0 -resize 180x180 \) \ 
     \(-clone 0 -resize 228x228 \) \ 
     -delete 0 -alpha off -colors 256 favicon.ico 

而且你將擁有你的favicon.ico,並將最熟知的格式烘焙成一個文件。

此外,請務必簽出favicon cheat sheet @https://github.com/audreyr/favicon-cheat-sheet以獲得更多的favicon信息。

+1

如果您想在您的favicon中使用透明度,或者甚至可以使用「-alpha off」去http://realfavicongenerator.net/(這個網站有更多的選項(你可以指定一個iOS特定的東西的背景等) – 2014-06-24 09:27:49

+1

這個主題的最佳答案!謝謝@ cappie! – pierallard 2014-08-12 09:20:24