关于 icon-generator
icon-generator 从单张源图生成适用于多个平台的应用图标,面向需要准备平台图标资源的开发者。它提供平台尺寸预设、批量输出和圆角选项。
主要功能
- 01支持 iOS、Android、Web、macOS、Windows
- 02从单张图片批量生成尺寸
- 03按平台预设尺寸
- 04支持 PNG、ICO、ICNS
- 05可选方形或圆角
适用场景
- 01生成 iOS 应用图标尺寸
- 02准备 Android 图标资源
- 03生成网站图标和 PWA 图标
- 04输出 Windows ICO 图标
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dkyazzentwatwa/ chatgpt-skills --skill icon-generator安装后在 Claude Code 中输入/icon-generator确认已加载。
附带文件scripts/icon_generator.pyscripts/requirements.txt
详细介绍
图标生成器
从一张图片生成所有所需尺寸的应用图标。
功能
- 多平台:iOS、Android、Web、macOS、Windows
- 批量生成:从单个源图生成所有尺寸
- 智能缩放:确保所有尺寸下的画质
- 格式支持:PNG、ICO、ICNS
- 预设:各平台专用尺寸集
- 圆角选项:方角或圆角
快速开始
from icon_generator import IconGenerator
gen = IconGenerator()
# Generate all iOS icons
gen.load("logo.png")
gen.generate_ios("ios_icons/")
# Generate all favicon sizes
gen.load("logo.png")
gen.generate_favicon("favicon/")
# Generate specific sizes
gen.load("logo.png")
gen.generate_sizes([16, 32, 64, 128, 256, 512], "icons/")
CLI 用法
# Generate iOS icons
python icon_generator.py --input logo.png --preset ios --output-dir ios_icons/
# Generate Android icons
python icon_generator.py --input logo.png --preset android --output-dir android_icons/
# Generate favicons
python icon_generator.py --input logo.png --preset favicon --output-dir favicon/
# Custom sizes
python icon_generator.py --input logo.png --sizes 16 32 64 128 256 -o icons/
# Generate all platforms
python icon_generator.py --input logo.png --preset all --output-dir app_icons/
API 参考
IconGenerator 类
class IconGenerator:
def __init__(self)
# Loading
def load(self, filepath: str) -> 'IconGenerator'
# Generation
def generate_ios(self, output_dir: str) -> List[str]
def generate_android(self, output_dir: str) -> List[str]
def generate_favicon(self, output_dir: str) -> List[str]
def generate_macos(self, output_dir: str) -> List[str]
def generate_windows(self, output_dir: str) -> List[str]
def generate_pwa(self, output_dir: str) -> List[str]
def generate_all(self, output_dir: str) -> Dict[str, List[str]]
# Custom
def generate_sizes(self, sizes: List[int], output_dir: str,
prefix: str = "icon") -> List[str]
def generate_single(self, size: int, output: str) -> str
# Options
def set_rounding(self, radius_percent: float) -> 'IconGenerator'
def set_padding(self, padding_percent: float) -> 'IconGenerator'
def set_background(self, color: Tuple) -> 'IconGenerator'
平台尺寸
iOS(App Store)
- 20x20、29x29、40x40、60x60、76x76、83.5x83.5
- 1024x1024(App Store)
- @2x 和 @3x 变体
Android
- mdpi:48x48
- hdpi:72x72
- xhdpi:96x96
- xxhdpi:144x144
- xxxhdpi:192x192
- Play Store:512x512
网站图标
- 16x16、32x32、48x48
- 180x180(Apple Touch)
- 192x192、512x512(PWA)
Windows
- 16x16、32x32、48x48
- 256x256(ICO)
依赖项
- pillow>=10.0.0
评论
支持 Markdown