类: Draw
定义于: packages/draw/src/draw.ts:123
成绩海报绘制入口:构造时注入 database,一种图一个方法(成对提供 PNG / SVG)。
| 方法 | 需要的数据 | 说明 |
|---|---|---|
| poster / posterSvg | profile + bests,或已聚合的 PosterData | 完整 B50 海报(含雷达) |
| best15 / best15Svg | 署名 + prober Bests | 取 dx 前最多 15,不排序 |
| best35 / best35Svg | 署名 + prober Bests | 取 standard 前最多 35,不排序 |
| best50 / best50Svg | 署名 + prober Bests | 新 15 + 旧 35 拼接,不排序 |
| chart / chartSvg | 单曲成绩 | 无玩家栏的单曲成绩卡 |
| upgrades / upgradesSvg | UpgradeBoardData | 加分板(宿主先算候选) |
Best 板只切割、不重排;数量不足则有几画几(不补假数据、不满员不报错)。
示例
const draw = new Draw({ database });
const png = await draw.poster(profile, bests, { footerLeft: "my-app" });
const head = { name: profile.name, rating: profile.rating };
const b15 = await draw.best15(head, bests);构造函数
构造函数
new Draw(options): Draw;定义于: packages/draw/src/draw.ts:129
参数
| 参数 | 类型 | 描述 |
|---|---|---|
options | DrawOptions | 必须提供 database(素材;海报还需要标签能力) |
返回
Draw
方法
best15()
best15(
player,
bests,
options?): Promise<Uint8Array<ArrayBufferLike>>;定义于: packages/draw/src/draw.ts:168
新曲 B15 板 PNG。 从 bests.dx 按原顺序取前最多 15 首;不足则少画,不排序、不补全。
参数
| 参数 | 类型 |
|---|---|
player | PlayerProfile |
bests | Bests |
options | RenderOptions |
返回
Promise<Uint8Array<ArrayBufferLike>>
best15Svg()
best15Svg(
player,
bests,
options?): Promise<string>;定义于: packages/draw/src/draw.ts:177
新曲 B15 板 SVG。语义同 best15。
参数
| 参数 | 类型 |
|---|---|
player | PlayerProfile |
bests | Bests |
options | RenderOptions |
返回
Promise<string>
best35()
best35(
player,
bests,
options?): Promise<Uint8Array<ArrayBufferLike>>;定义于: packages/draw/src/draw.ts:189
旧曲 B35 板 PNG。 从 bests.standard 按原顺序取前最多 35 首;不足则少画,不排序、不补全。
参数
| 参数 | 类型 |
|---|---|
player | PlayerProfile |
bests | Bests |
options | RenderOptions |
返回
Promise<Uint8Array<ArrayBufferLike>>
best35Svg()
best35Svg(
player,
bests,
options?): Promise<string>;定义于: packages/draw/src/draw.ts:198
旧曲 B35 板 SVG。语义同 best35。
参数
| 参数 | 类型 |
|---|---|
player | PlayerProfile |
bests | Bests |
options | RenderOptions |
返回
Promise<string>
best50()
best50(
player,
bests,
options?): Promise<Uint8Array<ArrayBufferLike>>;定义于: packages/draw/src/draw.ts:210
B50 全曲板 PNG。 dx 前最多 15 + standard 前最多 35,按源顺序拼接;不足则少画,不排序、不补全。
参数
| 参数 | 类型 |
|---|---|
player | PlayerProfile |
bests | Bests |
options | RenderOptions |
返回
Promise<Uint8Array<ArrayBufferLike>>
best50Svg()
best50Svg(
player,
bests,
options?): Promise<string>;定义于: packages/draw/src/draw.ts:219
B50 全曲板 SVG。语义同 best50。
参数
| 参数 | 类型 |
|---|---|
player | PlayerProfile |
bests | Bests |
options | RenderOptions |
返回
Promise<string>
chart()
chart(chart, options?): Promise<Uint8Array<ArrayBufferLike>>;定义于: packages/draw/src/draw.ts:233
单曲成绩卡 PNG。 若 database 提供 getSongList,会尽量补全 dx_max / level_value。
参数
| 参数 | 类型 |
|---|---|
chart | ScoreChart |
options | RenderOptions |
返回
Promise<Uint8Array<ArrayBufferLike>>
chartSvg()
chartSvg(chart, options?): Promise<string>;定义于: packages/draw/src/draw.ts:240
单曲成绩卡 SVG。
参数
| 参数 | 类型 |
|---|---|
chart | ScoreChart |
options | RenderOptions |
返回
Promise<string>
poster()
poster(
profileOrData,
bestsOrOptions?,
options?): Promise<Uint8Array<ArrayBufferLike>>;定义于: packages/draw/src/draw.ts:141
渲染完整 B50 海报 PNG。
可传 prober 的 profile + bests(内部聚合雷达 / summary), 或已组装好的 PosterData。
参数
| 参数 | 类型 |
|---|---|
profileOrData | PosterData | PlayerProfile |
bestsOrOptions? | Bests | RenderOptions |
options? | RenderOptions |
返回
Promise<Uint8Array<ArrayBufferLike>>
posterSvg()
posterSvg(
profileOrData,
bestsOrOptions?,
options?): Promise<string>;定义于: packages/draw/src/draw.ts:153
渲染完整 B50 海报 SVG。参数同 poster。
参数
| 参数 | 类型 |
|---|---|
profileOrData | PosterData | PlayerProfile |
bestsOrOptions? | Bests | RenderOptions |
options? | RenderOptions |
返回
Promise<string>
upgrades()
upgrades(data, options?): Promise<Uint8Array<ArrayBufferLike>>;定义于: packages/draw/src/draw.ts:271
加分推荐板 PNG。 候选须由宿主事先算好(推荐 @mai-kit/analysis 的 rankBestsUpgradeCandidates, 即能抬 B15/B35 的全曲候选);draw 不依赖 analysis,也不重新排序。
参数
| 参数 | 类型 |
|---|---|
data | UpgradeBoardData |
options | RenderOptions |
返回
Promise<Uint8Array<ArrayBufferLike>>
upgradesSvg()
upgradesSvg(data, options?): Promise<string>;定义于: packages/draw/src/draw.ts:278
加分推荐板 SVG。
参数
| 参数 | 类型 |
|---|---|
data | UpgradeBoardData |
options | RenderOptions |
返回
Promise<string>
getBestSize()
static getBestSize(scale?): object;定义于: packages/draw/src/draw.ts:319
Best 板输出尺寸(与海报同为 16:9)。@param scale 默认 2
参数
| 参数 | 类型 | 默认值 |
|---|---|---|
scale | number | 2 |
返回
object
| 名称 | 类型 | 定义于 |
|---|---|---|
height | number | packages/draw/src/draw.ts:319 |
width | number | packages/draw/src/draw.ts:319 |
getBoardSize()
static getBoardSize(scale?): object;定义于: packages/draw/src/draw.ts:324
单曲卡 / 加分板输出尺寸(1920×1080 × scale)。@param scale 默认 2
参数
| 参数 | 类型 | 默认值 |
|---|---|---|
scale | number | 2 |
返回
object
| 名称 | 类型 | 定义于 |
|---|---|---|
height | number | packages/draw/src/draw.ts:324 |
width | number | packages/draw/src/draw.ts:324 |
getPosterSize()
static getPosterSize(scale?): object;定义于: packages/draw/src/draw.ts:314
海报输出尺寸(逻辑宽高 × scale)。@param scale 默认 2
参数
| 参数 | 类型 | 默认值 |
|---|---|---|
scale | number | 2 |
返回
object
| 名称 | 类型 | 定义于 |
|---|---|---|
height | number | packages/draw/src/draw.ts:314 |
width | number | packages/draw/src/draw.ts:314 |
