概述
本文档用于帮助开发者定制动画和整体主题。
实操
需要定制的动画文件
可将如下表格给设计师。分辨率按屏幕物理分辨率来(比如我们目前所用 0.71 寸双眼屏是 160x160 px)。
动画命名
含义(使用场景)
amazed.gif
惊讶
anger.gif
生气
happy.gif
开心
like.gif
爱意、喜欢
network_setup.gif
网络设置,该动画在配网时显示
neutral.gif
中性,即默认情况下
offline.gif
离线状态,网络中断时显示
sad.gif
悲伤
sleepy.gif
困倦,闲置过久时显示
thinking.gif
思考中
尺寸压缩
一般情况下,保持默认压缩参数即可。
#!/bin/bash
# ==============================================================================
# batch_optimize_gifs.sh
#
# 功能: 查找当前目录下的所有 .gif 文件, 将其分辨率宽高各减半,
# 并进行极限压缩,然后保存到 'output' 目录中。
#
# 依赖: Gifsicle, ImageMagick (用于获取原始尺寸)
# ==============================================================================
# --- 设置输出目录 ---
OUTPUT_DIR="output"
# --- 检查依赖工具是否存在 ---
if ! command -v gifsicle &> /dev/null; then
echo "错误: 未找到 'gifsicle'。请先安装 Gifsicle。"
echo " - Ubuntu/Debian: sudo apt install gifsicle"
echo " - macOS (Homebrew): brew install gifsicle"
exit 1
fi
if ! command -v magick &> /dev/null && ! command -v identify &> /dev/null; then
echo "错误: 未找到 ImageMagick 命令 ('magick' 或 'identify')。"
echo "请先安装 ImageMagick。"
echo " - Ubuntu/Debian: sudo apt install imagemagick"
echo " - macOS (Homebrew): brew install imagemagick"
exit 1
fi
# --- 创建输出目录 ---
if [ ! -d "$OUTPUT_DIR" ]; then
echo "创建输出目录: $OUTPUT_DIR"
mkdir "$OUTPUT_DIR"
fi
# --- 启用 shell 选项 ---
# nullglob: 如果没有匹配的文件,循环就不会执行
# nocaseglob: 匹配文件名时不区分大小写 (.gif, .GIF, .GiF 等)
shopt -s nullglob nocaseglob
# --- 变量初始化 ---
file_count=0
total_original_size=0
total_compressed_size=0
echo "开始批量处理 GIF 文件..."
echo "----------------------------------------"
# --- 循环处理当前目录下的所有 .gif 文件 ---
for file in *.gif; do
# 检查这确实是一个文件
if [ -f "$file" ]; then
((file_count++))
echo "($file_count) 正在处理: $file"
# --- 计算目标尺寸 (宽高减半) ---
target_width=360
target_height=360
# 确保尺寸至少为 1px
[ "$target_width" -eq 0 ] && target_width=1
[ "$target_height" -eq 0 ] && target_height=1
echo " - 原始尺寸: ${original_width}x${original_height}"
echo " - 目标尺寸: ${target_width}x${target_height}"
# --- 定义输出文件路径 ---
output_file="$OUTPUT_DIR/$file"
num_colors=128
# --- 核心压缩命令 ---
gifsicle \
--resize "${target_width}x${target_height}" \
--colors "${num_colors}" \
--dither \
--optimize=3 \
"$file" \
-o "$output_file"
# --- 统计文件大小 ---
original_size=$(stat -f \"%z\" "$file")
compressed_size=$(stat -f \"%z\" "$output_file")
#total_original_size=$(total_original_size + original_size)
#total_compressed_size=$(total_compressed_size + compressed_size)
echo " - 压缩完成 -> $output_file"
echo "" # 添加空行以分隔
fi
done
# 恢复 shell 默认行为
shopt -u nullglob nocaseglob
gifsicle \
--resize "360x360" --colors 64 --dither \
--optimize=3 \
--lossy=80 \
"network_setup.gif" \
-o output/network_setup_new.gif
# --- 输出总结报告 ---
echo "----------------------------------------"
if [ "$file_count" -eq 0 ]; then
echo "未在当前目录找到任何 .gif 文件。"
else
echo "批量处理完成!共处理了 $file_count 个 GIF 文件。"
echo "所有优化后的文件已保存到 '$OUTPUT_DIR' 目录中。"
echo ""
echo "--- 压缩效果总结 ---"
# 转换为 KB 或 MB 以方便阅读
orig_kb=$((total_original_size / 1024))
comp_kb=$((total_compressed_size / 1024))
echo "总原始大小: $orig_kb KB"
echo "总压缩后大小: $comp_kb KB"
if [ "$total_original_size" -gt 0 ]; then
reduction_percent=$(echo "scale=2; (1 - $total_compressed_size / $total_original_size) * 100" | bc)
echo "总体积减小: $reduction_percent %"
fi
fi
分辨率
屏幕分辨率
字体和背景
按情况定制 Theme 定义中的 background/border/text 字段。
✨ 亮点速览:
✅ 限时福利:即日起至12月31日,官网/扫码进群即可每月领取10亿 Tokens
✅ API/SDK全兼容:Java/Python…无缝集成,大模型/智能体能力快速接入
✅ 模型盲测排行榜:不同模型效果对比打分,完美匹配不同业务诉求
✅ 灵活授权管理:令牌验证权限和身份信息,保证数据和信息安全
🎁 立即行动:访问平台官网 www.tbox.cn/open/open-i…
➡️ 产品详情查看:alipaytbox.yuque.com/sxs0ba/doc/…