无需付费软件,为 Electron 应用生成 macOS 应用的 .icns 图标

以前开发 iOS 应用,App 的 Icon 通常是用 IconKit(app store 可下载) 生成的,到了用 Electron 写的应用,发现 electron的图标是.icns后缀的,第一次接触不知道这个文件是如何生成的,IconKit 也不支持生成,就想着去 App Store 看下是否有合适的工具,工具倒是挺多的,但是貌似不能直接生成.icns
有些工具甚至还是订阅制,每个月 15 快,仅仅为了生成一个.icns每月花费 15 快钱,怎么想都不值。(虽然对于开发者来说,可能开发这个软件花费了不少精力)

回到正题,在不想花钱,也不想花太多精力的情况下,可以通过使用命令行工具完成这个工作。

Mac 需要的图标大小

Mac 需要的图标大小有很多种,以下是一些常见的图标尺寸:

  • 应用程序图标:1024 x 1024 像素

  • 文件夹图标:512 x 512 像素

  • 系统菜单栏图标:22 x 22 像素或32 x 32 像素

  • Dock 图标:512 x 512 像素或256 x 256 像素

  • Launchpad 图标:1024 x 1024 像素或512 x 512 像素

  • Spotlight 搜索结果图标:128 x 128 像素

  • Finder 标签栏和侧边栏图标:16 x 16 像素或32 x 32 像素

      备注: 不同版本的 Mac OS X 可能需要不同尺寸的图标。建议在设计时查看相关文档以确保正确的尺寸。
    

生成图标脚本

创建一个generate_icon.sh脚本,在脚本中传入一个1024 大小 Icon 路径作为参数,具体代码如下:

#!/bin/bash

# 检查参数是否为空
if [ -z "$1" ]; then
  echo "请提供一个 1024 大小的图片路径作为参数"
  exit 1
fi

# 创建图标文件夹
mkdir MyIcon.iconset

# 生成各个尺寸的图标
sips -z 16 16 "$1" --out MyIcon.iconset/icon_16x16.png
sips -z 32 32 "$1" --out MyIcon.iconset/[email protected]
sips -z 32 32 "$1" --out MyIcon.iconset/icon_32x32.png
sips -z 64 64 "$1" --out MyIcon.iconset/[email protected]
sips -z 128 128 "$1" --out MyIcon.iconset/icon_128x128.png
sips -z 256 256 "$1" --out MyIcon.iconset/[email protected]
sips -z 256 256 "$1" --out MyIcon.iconset/icon_256x256.png
sips -z 512 512 "$1" --out MyIcon.iconset/[email protected]
sips -z 512 512 "$1" --out MyIcon.iconset/icon_512x512.png
cp "$1" MyIcon.iconset/[email protected]

# 生成 icns 图标文件
iconutil -c icns MyIcon.iconset

# 删除图标文件夹(如果指定了删除参数)
if [ "$2" = "--delete" ]; then
  rm -R MyIcon.iconset
fi


保存脚本后,你可以通过终端运行该脚本并传入图片路径作为参数,例如:

bash generate_icon.sh path/to/Icon1024.png

可以使用 --delete 参数来指定是否删除 MyIcon.iconset 文件夹。如果不使用该参数,图标文件夹将保留在生成完 icon.icns 后。以下是示例用法:

bash generate_icon.sh path/to/Icon1024.png --delete

最后在你的 electron 打包配置文件中,加上

"icon": "assets/MyIcon..icns"

已发布

分类

作者:

标签

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注