百宝箱 IoT 如何定制动画

简介: 本文档指导开发者定制动画及主题,涵盖动画文件命名、使用场景、分辨率适配(如160x160px)、尺寸压缩脚本(gifsicle/ImageMagick)及字体背景配置,助力高效开发。

概述

本文档用于帮助开发者定制动画和整体主题。

实操

需要定制的动画文件

可将如下表格给设计师。分辨率按屏幕物理分辨率来(比如我们目前所用 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…无缝集成,大模型/智能体能力快速接入

✅ 模型盲测排行榜:不同模型效果对比打分,完美匹配不同业务诉求

✅ 灵活授权管理:令牌验证权限和身份信息,保证数据和信息安全

🎁 立即行动:访问平台官网 https://www.tbox.cn/open/open-introduce,注册即享开发资源与Token优惠,加速您的AI应用落地!

➡️ 产品详情查看:https://alipaytbox.yuque.com/sxs0ba/doc/tbox_open_overview

相关文章
|
3月前
|
搜索推荐 API 开发工具
百宝箱开放平台 ✖️ Python SDK
百宝箱提供Python SDK,支持开发者集成其开放能力。需先发布应用,安装Python 3.6+环境后,通过pip安装tboxsdk,即可调用对话型、生成型智能体及文件上传等功能。
824 87
百宝箱开放平台 ✖️  Python SDK
|
1月前
|
人工智能
【AI实训营12月重磅焕新】RAG专题课+创客挑战赛双线开启!手把手教你打造“专属阅读搭子”,赢限量行李箱+双重好礼🎁
告别PDF阅读烦恼!首期「企业级文本知识库构建」RAG实战课上线,知名科技博主【AI进化论花生】亲授,手把手教你用阿里云百炼平台打造专属“智能阅读助手”。学课程、补通识、冲榜单,参与即有机会赢神秘礼品及限量高颜值行李箱!立即加入,智胜未来!
165 11
|
1月前
|
人工智能 自然语言处理 安全
构建AI智能体:四十五、从专用插件到通用协议:MCP如何重新定义AI工具生态
MCP(模型上下文协议)是AI领域的标准化工具调用协议,相当于万能遥控器,让不同AI模型能通过统一接口使用各种外部工具。其核心架构采用客户端-服务器模式:AI客户端负责理解用户意图并整合结果,MCP服务器则专注于工具执行。相比厂商私有的FunctionCall,MCP具有开放标准、跨模型支持、动态发现等优势,能实现真正的"即插即用"。该协议解决了AI模型知识局限、无法执行动作等问题,使AI从"知识库"进化为能操作外部系统的智能助手,可应用于个人
512 7
|
3月前
|
自然语言处理 JavaScript API
百宝箱开放平台 ✖️ 开发流程
本文介绍通过开放平台集成智能体能力的流程,包括创建发布应用、获取授权令牌及调用API/SDK三步。涵盖智能体调用、模型测评、文件操作等接口,并提供Java、Python、Node.js及Web SDK支持,助力开发者快速实现智能对话与内容生成功能集成。(239字)
311 0
百宝箱开放平台 ✖️ 开发流程
|
1月前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
2421 32
|
1月前
|
语音技术
阿里云产品十一月刊来啦
阿里云百炼多模态与语音识别模型全面升级,千问APP公测上线免费向用户开放|产品十一月刊
149 11
阿里云产品十一月刊来啦
|
1月前
|
人工智能 自然语言处理 搜索推荐
构建AI智能体:四十六、Codebuddy MCP 实践:用高德地图搭建旅游攻略系统
本文提出了一种基于MCP协议与高德地图API的智能旅游攻略系统,旨在解决传统旅游信息碎片化、时效性差等问题。系统通过整合多源数据,实现动态路线规划、个性化推荐等功能,支持自然语言交互和多模态展示。技术层面,MCP协议作为核心枢纽,标准化了工具调用和错误处理;高德地图API则提供地理智能、时空分析等能力。系统可生成包含景点、美食、住宿等信息的完整攻略,并支持临时发布共享。实践表明,该系统能有效降低用户规划成本,为旅游行业数字化转型提供参考。
327 13
|
1月前
|
JavaScript Java 关系型数据库
2026版基于springboot的大学生社团管理系统
本文探讨高校学生社团管理系统的研发背景与意义,分析当前国内研究现状,提出基于Spring Boot、Vue.js、MySQL及B/S架构的技术方案,旨在提升社团管理的信息化、智能化水平,推动校园文化可持续发展。
|
1月前
|
SQL 自然语言处理 数据可视化
构建AI智能体:四十三、智能数据分析机器人:基于Qwen-Agent与Text2SQL的门票分析方案
摘要:本文介绍了一个基于Qwen-Agent和Text2SQL技术的智能门票数据分析系统。该系统通过自然语言交互降低技术门槛,使业务人员可直接查询和分析数据。系统采用分层架构设计,包含用户交互层、智能代理层、工具执行层和数据服务层,核心功能包括自然语言理解、SQL生成、数据查询和可视化展示。文章详细阐述了系统流程、核心代码实现及优化策略,展示了如何通过大语言模型实现企业级数据分析应用的智能化转型,有效解决了传统数据分析流程中响应慢、沟通成本高等痛点。
233 7
|
前端开发 安全 API
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:自动化解放双手,初学者快速搭建系统并自动生成前端接口
GoWind Admin 是基于 Go-Kratos 与 Vue3 的企业级中后台框架,开箱即用,集成用户、权限、租户等核心模块。搭配 protoc-gen-typescript-http,可从 Protobuf 自动生成类型安全的前端接口,大幅降低联调成本,提升开发效率,助力初学者快速搭建系统,实现前后端高效协作。
284 0

热门文章

最新文章