教程用途
本教程用於 Mac 應用的圖標製作,將 PNG 格式圖片轉換為 Mac 應用所需的 ICNS 格式圖標文件。0
準備工作
準備原始圖片
- 準備一張 1024×1024 像素的 PNG 圖片
- 將圖片重新命名為
1.png - 確保圖片質量良好,因為這將是所有尺寸圖標的來源
創建工作目錄
- 進入圖片所在的文件夾
- 新建一個名為
pngpic.iconset 的文件夾(可手動創建)
執行命令步驟
使用 sips 命令生成不同尺寸的圖標
Mac 系統內建的 sips 命令可以批量處理圖片尺寸。以下命令將生成 Mac 圖標所需的各種尺寸:0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| # 生成 16x16 像素圖標
sips -z 16 16 1.png --out pngpic.iconset/icon_16x16.png
# 生成 32x32 像素圖標(16x16@2x)
sips -z 32 32 1.png --out pngpic.iconset/[email protected]
# 生成 32x32 像素圖標
sips -z 32 32 1.png --out pngpic.iconset/icon_32x32.png
# 生成 64x64 像素圖標(32x32@2x)
sips -z 64 64 1.png --out pngpic.iconset/[email protected]
# 生成 128x128 像素圖標
sips -z 128 128 1.png --out pngpic.iconset/icon_128x128.png
# 生成 256x256 像素圖標(128x128@2x)
sips -z 256 256 1.png --out pngpic.iconset/[email protected]
# 生成 256x256 像素圖標
sips -z 256 256 1.png --out pngpic.iconset/icon_256x256.png
# 生成 512x512 像素圖標(256x256@2x)
sips -z 512 512 1.png --out pngpic.iconset/[email protected]
# 生成 512x512 像素圖標
sips -z 512 512 1.png --out pngpic.iconset/icon_512x512.png
# 生成 1024x1024 像素圖標(512x512@2x)
sips -z 1024 1024 1.png --out pngpic.iconset/[email protected]
|
命令參數說明
-z 16 16:指定輸出圖片的寬度和高度(16×16 像素)1.png:輸入的原始圖片文件名--out:指定輸出文件的路徑和名稱
生成 ICNS 文件
完成所有尺寸圖標的生成後,使用 iconutil 命令將 iconset 文件夾轉換為 ICNS 格式:0
1
| iconutil -c icns pngpic.iconset -o icon.icns
|
執行完成後,將在當前目錄生成一個 icon.icns 文件,這就是最終的 Mac 應用圖標文件。
技術說明
Mac 圖標規格要求
Mac 應用圖標需要包含多種尺寸以適應不同的顯示場景:
- 16×16:Finder 中的小圖標
- 32×32:Finder 中的標準圖標
- 128×128:Finder 中的大圖標
- 256×256:Finder 中的超大圖標
- 512×512:Retina 顯示器上的大圖標
- 1024×1024:App Store 和高解析度顯示
文件命名規則
iconset 文件夾中的圖標文件必須遵循特定的命名規則:
注意事項
- 圖片質量:原始 PNG 圖片應該是高質量的,因為所有小尺寸圖標都是從它縮放而來
- 透明背景:建議使用透明背景的 PNG 圖片,這樣圖標在不同背景下都能正常顯示
- 圖標設計:遵循 Apple 的圖標設計指南,確保圖標在小尺寸下仍然清晰可辨
批量處理腳本
為了簡化操作,可以創建一個 shell 腳本來自動執行所有命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| #!/bin/bash
# 創建 iconset 目錄
mkdir -p pngpic.iconset
# 生成所有尺寸的圖標
sips -z 16 16 1.png --out pngpic.iconset/icon_16x16.png
sips -z 32 32 1.png --out pngpic.iconset/[email protected]
sips -z 32 32 1.png --out pngpic.iconset/icon_32x32.png
sips -z 64 64 1.png --out pngpic.iconset/[email protected]
sips -z 128 128 1.png --out pngpic.iconset/icon_128x128.png
sips -z 256 256 1.png --out pngpic.iconset/[email protected]
sips -z 256 256 1.png --out pngpic.iconset/icon_256x256.png
sips -z 512 512 1.png --out pngpic.iconset/[email protected]
sips -z 512 512 1.png --out pngpic.iconset/icon_512x512.png
sips -z 1024 1024 1.png --out pngpic.iconset/[email protected]
# 生成 ICNS 文件
iconutil -c icns pngpic.iconset -o icon.icns
echo "ICNS 圖標生成完成!"
|
參考資源