logo
0
0
WeChat Login
tumuyan<tumuyan@gmail.com>
chore: 更新readme

PinFrame | 定帧

English | 中文说明

PinFrame(定帧) 是一款颇具特色的序列帧工具。它不一定能进入到专业的游戏开发者、像素画师以及 2D 动画师设计的工作流中,因为它基本不能帮你从无到有创建帧动画;但是如果需要预览和微调序列帧,或者把一堆不同尺寸的素材和精灵表整合为一个工程,特别是处理AI生产的素材,那么它毫无疑问能够帮上大忙。

甚至抛开这些你可能看着都迷糊的东西,定帧也是一款相当不错的gif图片处理工具,图片分解、裁剪、合并、调整分辨率、修改动画顺序、调整帧速、移除某些帧,都能做到。

本项目由AI驱动开发、AI绘制图标、AI协助取名。“定帧”不是一个理想的名字但是其他英文名字似乎被已有软件用完了!最后才定下这个名,意为“固定每一帧的大小和位置”,某种程度上也取了“一眼定帧”的意思吧。

核心功能

  • 精准变换:支持每一帧的平移、缩放、旋转、镜像,支持xy方向不同缩放倍率。
  • 多维锚点:支持画布中心、图片中心、自定义画布位置以及跟随图片的自定义位置四种锚点模式,确保变换中心完全受控。
  • 洋葱皮预览:可配置前后多帧透明叠加,完美掌控动画连贯性。
  • 参考帧系统:锁定任意帧作为前景/背景参考,支持与洋葱皮智能互斥。
  • 交互灵活:支持滚轮模式切换(缩放视图 or 缩放图片)。
  • 灵活预览:支持全局以及选定范围的正序播放、倒序播放,自定义播放速度。多选帧直接叠加预览,批量调整。
  • 精灵表处理:内置切片工具,支持从精灵表(Sprite Sheet)恢复序列,也支持直接导出精灵表。
  • 专业导出:支持自定义帧范围、自定义背景色,可导出 PNG 序列/紧凑精灵表/GIF。
  • 批量操作:支持批量复制粘贴属性、重复帧、删除帧、反转帧顺序。
  • 素材无损:工程仅使用json存储信息,不需要复制资源造成磁盘浪费,也不会因为导入的尺寸不合适而损失素材精度。
  • 项目便携化:支持快速复制素材到工程目录,保存时自动改为相对路径管理,工程移动素材不丢失。

未来可能有的功能

  • 视频导入导出:对视频内容精准预览并提取帧是有一定必要的。但是会让工具的体积膨胀一大截。
  • 简易抠图:抠图有利于更好的素材预览。但是不一定能内置很好用的抠图功能。

不做的功能

  • 像素级修图
  • 图层:定帧不提供图层功能,因为这会让timeline变得复杂,而且定帧的初衷是帮助你微调动画。

运行与开发

依赖环境

  • Python 3.11+
  • PyQt6
  • Pillow

快速启动

# 安装依赖 pip install -r requirements.txt # 运行程序 python main.py

打包发布

本工程已配置好 PyInstaller 环境,可在 Windows 下生成独立可执行文件:

# 安装打包工具 pip install pyinstaller # 执行打包 pyinstaller PinFrame.spec

生成的成品位于 dist/PinFrame 目录。