# SpritePlay **Repository Path**: distinctive-mark/SpritePlay ## Basic Information - **Project Name**: SpritePlay - **Description**: 精灵图动画转换工具 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-02 - **Last Updated**: 2025-12-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpritePlay - 精灵图动画转换工具 ## 项目简介 SpritePlay 是一个方便的精灵图与动画序列互转工具,基于 PyQt5 开发,提供直观的图形界面。支持精灵图切分为动画序列,以及将动画序列重排为精灵图。 ## 主要功能 ### 双向转换 - 精灵图转动画:将单张精灵图按行列切分为动画序列 - 动画转精灵图:将动画帧序列重新排列为精灵图 ![SpritePlay](Demo_0.gif) ### 支持格式 - 输入格式:PNG、JPG、JPEG、BMP、GIF、WebP、APNG - 输出格式: - 动画:GIF、APNG、WebP、PNG序列 - 精灵图:PNG、JPEG、BMP、WebP ### 核心特性 - 实时预览分割效果 - 动画播放(播放/暂停、逐帧浏览) - 可调帧率(1-120 FPS) - 循环播放控制(支持无限循环) - 边框擦除功能(重排时可用作绘制边框) - 帧范围选择(可倒序) - 图像质量/压缩调整 ![SpritePlay](Demo_1.gif) ## 系统要求 - Python 3.7+ - PyQt5 - Pillow (PIL) ## 安装与运行 ### 安装依赖 ``` pip install PyQt5 pillow ``` ### 运行程序 ``` python SpritePlay.py ``` ## 使用指南 ### 基本操作 1. 拖拽文件:直接将图像文件拖拽到程序窗口 2. 双击加载:在预览区域双击选择文件 3. 实时调整:修改行列数、边框等参数即时预览效果 ### 快捷键 - A/D:减少/增加列数 - W/S:增加/减少行数 - 空格键:播放/暂停动画 - Delete:重置当前标签页 - Enter/Esc:释放输入框焦点 - F1:访问 GitHub 仓库 ### 切分模式(精灵图→动画) 1. 加载精灵图 2. 设置行列数 3. 调整边框擦除(按需) 4. 选择帧范围 5. 设置帧率和循环次数 6. 选择输出格式并保存 ### 重排模式(动画→精灵图) 1. 加载动画或帧序列 2. 设置行列排列方式 3. 选择背景色(非透明格式) 4. 调整图像质量 5. 保存精灵图 ## 项目结构 ``` SpritePlay/ ├── ImageProcessor # 图像处理核心类 ├── BaseTab # 标签页基类 ├── SplitTab # 切分功能标签页 ├── RearrangeTab # 重排功能标签页 ├── UI组件 # 自定义UI控件 │ ├── SpritePreview # 精灵图预览 │ ├── AnimationPreview # 动画预览 │ └── ColorPickerButton # 颜色选择器 └── SpriteToAnimationConverter # 主窗口 ``` ## 注意事项 1. 性能限制:单次处理最多1000帧 2. 内存使用:大图像或高帧数可能占用较多内存 3. 透明支持:JPEG和BMP格式不支持透明背景 4. 文件保存:PNG序列会创建文件夹保存各帧 ## 许可证 本项目使用 GPLv3 许可证