Skip to content

类: Draw

定义于: packages/draw/src/draw.ts:123

成绩海报绘制入口:构造时注入 database一种图一个方法(成对提供 PNG / SVG)。

方法需要的数据说明
poster / posterSvgprofile + bests,或已聚合的 PosterData完整 B50 海报(含雷达)
best15 / best15Svg署名 + prober Bestsdx 前最多 15,不排序
best35 / best35Svg署名 + prober Bestsstandard 前最多 35,不排序
best50 / best50Svg署名 + prober Bests新 15 + 旧 35 拼接,不排序
chart / chartSvg单曲成绩无玩家栏的单曲成绩卡
upgrades / upgradesSvgUpgradeBoardData加分板(宿主先算候选)

Best 板只切割、不重排;数量不足则有几画几(不补假数据、不满员不报错)。

示例

ts
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);

构造函数

构造函数

ts
new Draw(options): Draw;

定义于: packages/draw/src/draw.ts:129

参数

参数类型描述
optionsDrawOptions必须提供 database(素材;海报还需要标签能力)

返回

Draw

方法

best15()

ts
best15(
   player, 
   bests, 
options?): Promise<Uint8Array<ArrayBufferLike>>;

定义于: packages/draw/src/draw.ts:168

新曲 B15 板 PNG。 从 bests.dx 按原顺序取前最多 15 首;不足则少画,不排序、不补全。

参数

参数类型
playerPlayerProfile
bestsBests
optionsRenderOptions

返回

Promise<Uint8Array<ArrayBufferLike>>


best15Svg()

ts
best15Svg(
   player, 
   bests, 
options?): Promise<string>;

定义于: packages/draw/src/draw.ts:177

新曲 B15 板 SVG。语义同 best15

参数

参数类型
playerPlayerProfile
bestsBests
optionsRenderOptions

返回

Promise<string>


best35()

ts
best35(
   player, 
   bests, 
options?): Promise<Uint8Array<ArrayBufferLike>>;

定义于: packages/draw/src/draw.ts:189

旧曲 B35 板 PNG。 从 bests.standard 按原顺序取前最多 35 首;不足则少画,不排序、不补全。

参数

参数类型
playerPlayerProfile
bestsBests
optionsRenderOptions

返回

Promise<Uint8Array<ArrayBufferLike>>


best35Svg()

ts
best35Svg(
   player, 
   bests, 
options?): Promise<string>;

定义于: packages/draw/src/draw.ts:198

旧曲 B35 板 SVG。语义同 best35

参数

参数类型
playerPlayerProfile
bestsBests
optionsRenderOptions

返回

Promise<string>


best50()

ts
best50(
   player, 
   bests, 
options?): Promise<Uint8Array<ArrayBufferLike>>;

定义于: packages/draw/src/draw.ts:210

B50 全曲板 PNG。 dx 前最多 15 + standard 前最多 35,按源顺序拼接;不足则少画,不排序、不补全。

参数

参数类型
playerPlayerProfile
bestsBests
optionsRenderOptions

返回

Promise<Uint8Array<ArrayBufferLike>>


best50Svg()

ts
best50Svg(
   player, 
   bests, 
options?): Promise<string>;

定义于: packages/draw/src/draw.ts:219

B50 全曲板 SVG。语义同 best50

参数

参数类型
playerPlayerProfile
bestsBests
optionsRenderOptions

返回

Promise<string>


chart()

ts
chart(chart, options?): Promise<Uint8Array<ArrayBufferLike>>;

定义于: packages/draw/src/draw.ts:233

单曲成绩卡 PNG。 若 database 提供 getSongList,会尽量补全 dx_max / level_value

参数

参数类型
chartScoreChart
optionsRenderOptions

返回

Promise<Uint8Array<ArrayBufferLike>>


chartSvg()

ts
chartSvg(chart, options?): Promise<string>;

定义于: packages/draw/src/draw.ts:240

单曲成绩卡 SVG。

参数

参数类型
chartScoreChart
optionsRenderOptions

返回

Promise<string>


poster()

ts
poster(
   profileOrData, 
   bestsOrOptions?, 
options?): Promise<Uint8Array<ArrayBufferLike>>;

定义于: packages/draw/src/draw.ts:141

渲染完整 B50 海报 PNG。

可传 prober 的 profile + bests(内部聚合雷达 / summary), 或已组装好的 PosterData

参数

参数类型
profileOrDataPosterData | PlayerProfile
bestsOrOptions?Bests | RenderOptions
options?RenderOptions

返回

Promise<Uint8Array<ArrayBufferLike>>


posterSvg()

ts
posterSvg(
   profileOrData, 
   bestsOrOptions?, 
options?): Promise<string>;

定义于: packages/draw/src/draw.ts:153

渲染完整 B50 海报 SVG。参数同 poster

参数

参数类型
profileOrDataPosterData | PlayerProfile
bestsOrOptions?Bests | RenderOptions
options?RenderOptions

返回

Promise<string>


upgrades()

ts
upgrades(data, options?): Promise<Uint8Array<ArrayBufferLike>>;

定义于: packages/draw/src/draw.ts:271

加分推荐板 PNG。 候选须由宿主事先算好(推荐 @mai-kit/analysisrankBestsUpgradeCandidates, 即能抬 B15/B35 的全曲候选);draw 依赖 analysis,也不重新排序。

参数

参数类型
dataUpgradeBoardData
optionsRenderOptions

返回

Promise<Uint8Array<ArrayBufferLike>>


upgradesSvg()

ts
upgradesSvg(data, options?): Promise<string>;

定义于: packages/draw/src/draw.ts:278

加分推荐板 SVG。

参数

参数类型
dataUpgradeBoardData
optionsRenderOptions

返回

Promise<string>


getBestSize()

ts
static getBestSize(scale?): object;

定义于: packages/draw/src/draw.ts:319

Best 板输出尺寸(与海报同为 16:9)。@param scale 默认 2

参数

参数类型默认值
scalenumber2

返回

object

名称类型定义于
heightnumberpackages/draw/src/draw.ts:319
widthnumberpackages/draw/src/draw.ts:319

getBoardSize()

ts
static getBoardSize(scale?): object;

定义于: packages/draw/src/draw.ts:324

单曲卡 / 加分板输出尺寸(1920×1080 × scale)。@param scale 默认 2

参数

参数类型默认值
scalenumber2

返回

object

名称类型定义于
heightnumberpackages/draw/src/draw.ts:324
widthnumberpackages/draw/src/draw.ts:324

getPosterSize()

ts
static getPosterSize(scale?): object;

定义于: packages/draw/src/draw.ts:314

海报输出尺寸(逻辑宽高 × scale)。@param scale 默认 2

参数

参数类型默认值
scalenumber2

返回

object

名称类型定义于
heightnumberpackages/draw/src/draw.ts:314
widthnumberpackages/draw/src/draw.ts:314