2016-04-07 29 views
1

我一直在嘗試使用iconutil產生從文件夾「folderthumb.iconset」裏面的巴紐圖像.icns圖標,使用以下命令:iconutil錯誤:「Unsuported圖像格式」

iconutil -c icns folderthumb.iconset 

當源png具有alpha透明度時,一切順利。然而,當PNG圖像是不透明的(從SIPS,hasAlpha =否)iconutil返回錯誤:

Unsuported image format

我的libpng是V1.6,與brew安裝。

有沒有關於如何排除這個問題的提示?

+0

我遇到同樣的問題。我讀過的幾篇文章表示他們必須擁有alpha通道。我想弄清楚如何輕鬆地將它們添加到我現有的png文件中。 –

回答

4

舊版本的iconutil並不需要png文件有一個alpha通道,iconutil與OS X 10.11一起發佈的版本(或者它帶有最近的Xcode?我不確定...)。

如果你有帶有透明部分的圖標,這應該沒問題,因爲我希望所有圖形工具在導出到png時都包含alpha通道。但是,如果你有一個完全不透明的圖標,大多數工具和應用程序在導出到png時刪除alpha通道。

這是我如何解決此:我安裝ImageMagick的(例如,經由的Mac OS端口),然後使用ImageMagick的命令行工具convert添加alpha通道並設置顏色空間sRGB的(這是由iconutil推薦):

convert input.png -alpha Set -colorspace sRGB -define png:format=png32 output.png 

如果您對iconset文件夾中的所有圖標執行此操作,那麼iconutil不會再返回錯誤。

+0

非常感謝你,Piers Uso Walter!這就像一個魅力!實際上,我轉換了用作基礎的PNG圖像,然後生成每個圖標集PNG。 – andrelmsantos

+0

好聽。那麼你想接受這個答案嗎? :-) –