酸橙熊熊(青柠熊熊)是一个高性能图片生成后端服务。主要用于接入舞萌DX的查分器数据,为玩家的游玩成绩(如B50、成绩列表等)生成精美的图片,常作为机器人(如迪拉熊Bot)的后端渲染引擎。
本项目通过纯托管图形库ImageSharp实现了脱离原生环境依赖的图形渲染,并内置了基于XML的灵活布局引擎,能够动态渲染丰富多样的玩家成绩卡片。
关于酸橙熊熊的详细介绍、架构设计以及协作者接入指南,请参阅我们的官方文档。
- 🚀 高性能渲染:基于ImageSharp,无需依赖本地系统GDI或libgdiplus,跨平台支持好。
- 📊 多数据源支持:
- 原生支持落雪咖啡屋 (Lxns)查分器API
- 原生支持水鱼 (Diving-Fish)查分器API
- 🖼️ 丰富的图像生成接口:
- BestsApi:生成玩家B50成绩图,支持段位、等级、头像细分及动图组合。
- ListApi:生成玩家特定等级谱面的成绩列表图。
- 🔧 自定义布局引擎:渲染逻辑与布局分离,基于XML节点定义的灵活布局系统。
- 📡 流式gRPC通信:基于Protobuf定义,提供流式的图片字节序列返回,降低大图片传输的内存占用。
- 核心框架:.NET
- 通信协议:gRPC
- 图像处理:ImageSharp
- 表达式引擎:NCalc
- 模板引擎:SmartFormat
- 配置管理:Hocon
git clone <your-repo-url>/limekuma-printer.git
cd limekuma-printerdotnet restoredotnet run --project src/Limekuma.csproj项目启动后,将通过配置中指定的端口提供gRPC服务。
API接口均定义在src/Protos/kumabot.proto文件中。
- BestsApi
GetFromLxns/GetFromDivingFish:获取常规B50图片。GetAnimeFromLxns/GetAnimeFromDivingFish:获取包含动画版B50图片。GetFromLxnsWithLevelSeg/GetFromDivingFishWithLevelSeg:获取带等级建议的B50图片。
- ListApi
GetFromLxns/GetFromDivingFish:获取指定等级或页码的玩家成绩列表图片。
本项目基于**GNU Affero General Public License v3.0(AGPL-3.0)**协议开源。详细信息请参阅LICENSE文件。
如果您遇到任何问题或有建议,请通过以下方式联系我们:
