# 铸图 **Repository Path**: deepin20/IconForge ## Basic Information - **Project Name**: 铸图 - **Description**: IconForge是一款基于 PySide6 的图形化图标制作工具,专为设计师和开发者打造。它将 SVG 源文件快速转换为多尺寸 PNG、Windows ICO、macOS ICNS 图标,并集成了 **IconPark 在线图标库**、**WebP 转 PNG** 和 **批量处理** 等实用功能,是您图标工作流的得力助手。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-14 - **Last Updated**: 2026-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🛠️ 铸图 IconForge > SVG 图标一键生成、管理、转换工具 —— 适配 Deepin 25 不可变系统 ![Version](https://img.shields.io/badge/version-1.2-blue) ![Python](https://img.shields.io/badge/python-3.10%2B-green) ![License](https://img.shields.io/badge/license-MIT-yellow) ![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey) **IconForge** 是一款基于 PySide6 的图形化图标制作工具,专为设计师和开发者打造。它将 SVG 源文件快速转换为多尺寸 PNG、Windows ICO、macOS ICNS 图标,并集成了 **IconPark 在线图标库**、**WebP 转 PNG** 和 **批量处理** 等实用功能,是您图标工作流的得力助手。 --- ## ✨ 主要功能 - **🎨 SVG → 多尺寸图标** 支持生成 **PNG**(16~1024px)、**Windows ICO**、**macOS ICNS** 格式,输出至标准的 hicolor 目录结构。 - **⚙️ 多引擎支持** 自动检测并使用 **Inkscape**、**rsvg‑convert** 或 **ImageMagick**,可按需切换或自动推荐最优引擎。 - **📦 IconPark 在线图标库** 内置 Iconify API,浏览 2600+ 个 IconPark 图标,支持四种主题(线性/填充/双色/多色),一键预览、导入或下载 SVG。 - **🔄 批量处理** 一次性处理多个 SVG 文件,每个文件独立输出,支持自定义命名前缀,效率翻倍。 - **🖼️ WebP → PNG 转换** 批量转换 WebP 图片为 PNG,支持递归子目录、多线程并行和覆盖控制。 - **📂 工程管理** 保存/加载 `.iconforge.json` 工程,恢复所有设置(SVG 路径、尺寸、引擎、格式等),方便重复使用。 - **🎨 浅色/深色主题** 支持跟随系统主题,手动切换浅色或深色模式。 - **📋 彩色日志 & 缩略图预览** 实时显示生成进度,完成后展示所有尺寸的 PNG 缩略图,右键可复制路径或打开文件夹。 --- ## 🔧 系统要求 ### 必需 - Python 3.10+(推荐 3.12) - 操作系统:Linux(Deepin 25 / Ubuntu 22.04+)/ macOS / Windows ### 可选(但推荐) - **Inkscape**:高质量 SVG 渲染 `sudo apt install inkscape`(Debian/Deepin) - **librsvg2-bin**(`rsvg-convert`):轻量级转换 `sudo apt install librsvg2-bin` - **ImageMagick**(`convert`):备用引擎 `sudo apt install imagemagick` > 若未安装任何引擎,软件会提示安装命令,并降级使用 Pillow(仅支持简单缩放)。 --- ## 📦 安装方式 ### 方式一:使用预构建 .deb 包(推荐 Deepin 25 用户) ```bash # 安装 sudo apt install ./iconforge_1.2_all.deb # 启动(终端或菜单) iconforge ``` - 安装路径:`/opt/iconforge`(可读写,不受不可变系统限制) - 自动创建 Python 虚拟环境并安装所有依赖 - 自动生成开始菜单快捷方式(`/usr/share/applications/iconforge.desktop`) - 卸载:`sudo apt purge iconforge` ### 方式二:从源码运行(开发/调试) ```bash # 克隆或解压项目 cd IconForge # 使用系统 Python 运行(自动创建 venv) /usr/bin/python3 run.py ``` 程序会自动创建 `venv` 虚拟环境并安装依赖(PySide6, Pillow),无需手动配置。 ### 方式三:手动设置虚拟环境 ```bash python3 -m venv venv source venv/bin/activate pip install -r requirements.txt python run.py ``` --- ## 🚀 快速上手 1. **加载 SVG**:拖拽或点击选择 `.svg` 文件。 2. **选择尺寸**:勾选需要的输出尺寸(支持自定义添加)。 3. **选择引擎**:默认为自动,也可手动指定。 4. **设置输出格式**:可选 PNG、ICO、ICNS。 5. **点击“开始生成”**,查看日志和缩略图预览。 ### IconPark 图标库 - 点击菜单 **工具 → IconPark 图标库** - 搜索、切换主题,选中图标后预览 - 点击 **“导入到项目”** 直接加载 SVG 到主窗口,或 **“下载 SVG”** 保存到本地。 ### 批量处理 - 菜单 **工具 → 批量处理** - 添加多个 SVG,设置输出根目录和前缀,一键生成。 --- ## 🗂️ 目录结构(关键部分) ``` IconForge/ ├── iconforge/ # 主代码 │ ├── core/ # 核心逻辑(生成、打包、引擎) │ ├── gui/ # UI 界面(主窗口、对话框) │ ├── resources/ # 图标资源(SVG) │ ├── utils/ # 工具函数 │ └── config.py # 全局配置 ├── run.py # 启动脚本(自动管理虚拟环境) ├── requirements.txt # Python 依赖 ├── LICENSE └── README.md ``` --- ## 🛠️ 构建 .deb 包(开发者) 项目根目录提供了 `build_deb.sh` 一键打包脚本: ```bash chmod +x build_deb.sh ./build_deb.sh ``` 生成 `iconforge_1.2_all.deb`,可分发安装。 --- ## 🤝 贡献 欢迎提交 Issue 或 Pull Request! 请确保代码风格符合 PEP8,并添加必要的注释。 如果你有好的功能建议,也欢迎提出。 --- ## 📄 许可证 本项目采用 **MIT License**,详情请见 [LICENSE](LICENSE) 文件。 --- ## 🙏 致谢 - [Iconify](https://iconify.design) 提供 IconPark 图标 API - [PySide6](https://wiki.qt.io/Qt_for_Python) 提供 Qt6 绑定 - [Pillow](https://python-pillow.org) 提供图像处理支持 --- **IconForge** —— 让图标创作更简单。 如有问题,请 [提交 Issue](https://github.com/your-repo/iconforge/issues) 或联系作者。