Files
konabot/konabot/docs/user/giftool.txt
pi-agent b87c58485c feat: add --pingpong flag to giftool
Add pingpong mode to giftool command. When --pingpong flag is used,
the generated GIF will play forward then backward, creating a
back-and-forth looping effect.

Features:
- Add --pingpong option to giftool command
- Support combining with --speed for adjusted playback speed
- Update documentation with new option

Examples:
- giftool [图片] --pingpong
- giftool [图片] --pingpong --speed 2.0
2026-04-02 20:06:15 +08:00

92 lines
2.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# giftool - 对 GIF 动图进行裁剪、抽帧等处理
## 格式
```bash
giftool [图片] [选项]
```
## 示例
- **回复一张 GIF 并发送:**
```bash
giftool --ss 1.5 -t 2.0
```
从 1.5 秒处开始,截取 2 秒长度的片段。
- ```bash
giftool [图片] --ss 0:10 -to 0:15
```
截取从 10 秒到 15 秒之间的片段(支持 `MM:SS` 或 `HH:MM:SS` 格式)。
- ```bash
giftool [图片] --frames:v 10
```
将整张 GIF 均匀抽帧,最终保留 10 帧。
- ```bash
giftool [图片] --ss 2 --frames:v 5
```
从第 2 秒开始截取,并将结果抽帧为 5 帧。
## 参数说明
### 图片(必需)
- 必须是 GIF 动图。
- 支持直接附带图片,或回复一条含 GIF 的消息后使用指令。
### `--ss <时间戳>`(可选)
- 指定开始时间(单位:秒),可使用以下格式:
- 纯数字(如 `1.5` 表示 1.5 秒)
- 分秒格式(如 `1:30` 表示 1 分 30 秒)
- 时分秒格式(如 `0:1:30` 表示 1 分 30 秒)
- 默认从开头开始0 秒)。
### `-t <持续时间>`(可选)
- 指定截取的持续时间(单位:秒),格式同 `--ss`。
- 与 `--ss` 配合使用:截取 `[ss, ss + t]` 区间。
- **不能与 `--to` 同时使用。**
### `--to <时间戳>`(可选)
- 指定结束时间(单位:秒),格式同 `--ss`。
- 与 `--ss` 配合使用:截取 `[ss, to]` 区间。
- **不能与 `-t` 同时使用。**
### `--frames:v <帧数>`(可选)
- 对截取后的片段进行均匀抽帧,保留指定数量的帧。
- 帧数必须为正整数(> 0
- 若原始帧数 ≤ 指定帧数,则保留全部帧。
### `--speed <速度>`(可选)
- 调整 GIF 图的速度。若为负数,则代表倒放。
### `--pingpong`(可选)
- 开启乒乓模式,生成正放-倒放拼接的 GIF 图。
- 即播放完正向后,会倒放回去,形成往复循环效果。
- 可与 `--speed` 配合使用,调整播放速度。
- 示例:`giftool [图片] --pingpong`
- 示例:`giftool [图片] --pingpong --speed 2.0`
## 使用方式
1. 发送指令前,请确保:
- 消息中附带一张 GIF 动图,**或**
- 回复一条包含 GIF 动图的消息后再发送指令。
2. 插件会自动:
- 解析 GIF 的每一帧及其持续时间duration
- 根据时间参数转换为帧索引进行裁剪
- 如指定抽帧,则对裁剪后的片段均匀采样
- 生成新的 GIF 并保持原始循环设置(`loop=0`