2012-10-03 83 views
19

應該OS X的應用程序圖標,菜單欄圖標是什麼尺寸?OS X的圖標大小

我能對付小分辨率的顯示器,但對於視網膜的 - 確實在菜單欄上顯示的圖標(例如20×20)將在一個新的MacBook Pro配備Retina顯示屏更小或模糊? 我認爲應用程序圖標將被縮放,所以如果我準備比普通圖像大兩倍,那麼在Retina上應該可以。

我發現iOS開發一個優秀的引導與規範大小,但我不能找到類似的尺寸規格爲OS X

回答

34

NSStatusBar圖標(即菜單欄圖標)是從正規的應用程序圖標不同。我一直無法找到NSStatusBar官方圖標指南,但我必須相信按鈕的Toolbar Icon guideline非常接近。它建議:

  • 創建測量不超過19x19像素的圖標。
  • 使輪廓清晰。
  • 使用直觀透視圖。
  • 使用黑色(只添加必要的透明度,以表明 維度)。
  • 使用抗鋸齒。
  • 使用PDF格式。
  • 確保 圖像直觀的控制中心(注意視覺 中心可能不一樣的數學中心)。

在測試中,我發現:

  1. NSStatusBar似乎最好看的東西18個像素高,或更低。該systemStatusBar has a thickness of 22
  2. 雖然它列出了PDF格式,但我一直在使用png而沒有問題。
  3. 如果你想,當它選擇你的圖標是白色的藍色,你需要提供alternateImage作爲一個單獨的白色版本的圖標。

代碼示例:

myStatusItem = [[NSStatusBar systemStatusBar]statusItemWithLength:NSSquareStatusItemLength]; 
NSImage *statusImage = [NSImage imageNamed:@"Status.png"]; 
[myStatusItem setImage:statusImage]; 
NSImage *altStatusImage = [NSImage imageNamed:@"StatusHighlighted"]; 
[myStatusItem setAlternateImage:altStatusImage]; 
[myStatusItem setHighlightMode:YES]; 
[myStatusItem setMenu:self.myStatusMenu]; 
+0

如果您使用模板圖像,則不需要替代圖像。如果圖像名稱以「模板」結尾,則它將自動以藍色繪製白色。 – pointum

+0

如果圖像名稱不是以'Templete'結尾,或者您可以設置'[[myStatusItem圖像] setTemplate:YES];'然後在突出顯示的模式下將其繪製爲白色。 – jeevatkm

+0

只需使用「xxxTemplate.png」和「[email protected]」作爲托盤圖標名稱,然後所有內容都將自動設置。這是做到這一點的最佳方式。 – RRN

-3

的應用程序圖標的最大尺寸應爲1024×1024。

而且您必須爲16 x 16,32 x 32,128 x 128,256 x 256,512 x 512,& 1024 x 1024創建常規和視網膜分辨率圖標。

您可以在"High Resolution Guidelines for OS X"文檔中找到的詳細信息來自Apple。

+0

那麼NSStatusItem圖標的大小呢?我無法在任何地方找到適當的大小,感謝「OS X高分辨率指南」 – maseth

+1

1024 x 1024 :)) – Nathan

+0

@mason - 關於'NSStatusItem'圖標的好問題,您可以使用PDF(例如參見)對於那一個 – CRD

6
+1

我同意圖標大小 - thx很多 - 但是NSStatusMenu圖標大小呢? – maseth

+1

這些圖標的大小應爲18x18像素,並且應該以PNG的形式完成,以便您可以獲得所需的透明度。 – Nathan

+0

@NathanSakoetoe如果這些圖標是18x18創建的,則它們在視網膜顯示屏上不清晰。他們需要更大,但我不知道適當的大小。 –

4

按照這些步驟,你會得到一個非常尖銳的狀態欄圖標視網膜

  1. 打開PNG圖標中的Photoshop文件應該更大比88px x 88px
  2. 轉到菜單,圖像,圖像大小
  3. 將分辨率設置爲350
  4. 集大小88px X 88px(像素)
  5. 保存圖像爲png格式 添加它的Xcode
+0

或者只是將其另存爲PDF – Charlie

+1

這些尺寸與'nw.js'一起運作良好。視網膜版本非常清晰。 – cbednarski

2

爲了讓您的菜單項支持視網膜顯示,暗模式和不同狀態(例如按下)

  1. 創建兩個PNG圖像尺寸16x1632x32或者,如果你想少保證金,18x1836x36像素
  2. Render As設置爲Template Image在Xcode中創建一個新的圖像資源,並添加您的圖片1x2x
  3. NSImage從圖像資產初始化而不改變其大小:NSImage(named: "Example")