#!/bin/bash # scripts/generate-icons.sh - 从 SVG 生成各平台图标 set -e cd "$(dirname "$0")/.." || exit 1 SVG_FILE="build/icon.svg" ICONS_DIR="build/icons" echo "⏳ 正在生成图标..." # 创建目录 mkdir -p "$ICONS_DIR" # 生成各尺寸 PNG for size in 16 32 48 64 128 256 512; do rsvg-convert -w $size -h $size "$SVG_FILE" -o "$ICONS_DIR/icon_${size}.png" echo " ✓ icon_${size}.png" done # 生成 Windows ICO (使用 16, 32, 48, 256) # 需要安装 icoutils: sudo apt install icoutils if command -v icotool &> /dev/null; then icotool -c -o build/icon.ico \ "$ICONS_DIR/icon_16.png" \ "$ICONS_DIR/icon_32.png" \ "$ICONS_DIR/icon_48.png" \ "$ICONS_DIR/icon_256.png" echo " ✓ icon.ico" else echo " ⚠ icoutils 未安装,跳过 ICO 生成" echo " 安装: sudo apt install icoutils" fi # 生成 macOS ICNS (使用 iconutil) # macOS 上可以直接用: iconutil -c icns icon.iconset # Linux 上需要 dmgbuild 或者手动创建 echo "" echo "✅ 图标生成完成!" echo "" echo "Windows ICO: build/icon.ico" echo "macOS ICNS: build/icon.icns (需要在 macOS 上生成)" echo "Linux PNG: build/icons/"