feat: 生成海报

This commit is contained in:
2025-10-03 09:19:05 +08:00
parent 40a043d2a0
commit 5fec10b342
18 changed files with 1032 additions and 200 deletions

71
types/taro-canvas.d.ts vendored Normal file
View File

@@ -0,0 +1,71 @@
declare module "@tarojs/taro" {
interface RenderingContext {
// 变换
scale(x: number, y: number): void;
rotate(angle: number): void;
translate(x: number, y: number): void;
save(): void;
restore(): void;
// 路径
beginPath(): void;
closePath(): void;
moveTo(x: number, y: number): void;
lineTo(x: number, y: number): void;
arc(
x: number,
y: number,
radius: number,
startAngle: number,
endAngle: number,
anticlockwise?: boolean
): void;
arcTo(
x1: number,
y1: number,
x2: number,
y2: number,
radius: number
): void;
clip(): void;
// 绘制
drawImage(
image: any,
dx: number,
dy: number,
dWidth?: number,
dHeight?: number
): void;
fill(): void;
stroke(): void;
// 样式
fillStyle: string | CanvasGradient | CanvasPattern;
strokeStyle: string | CanvasGradient | CanvasPattern;
font: string;
textAlign: CanvasTextAlign;
textBaseline: CanvasTextBaseline;
// 文本
fillText(text: string, x: number, y: number, maxWidth?: number): void;
strokeText(text: string, x: number, y: number, maxWidth?: number): void;
measureText(text: string): TextMetrics;
// 渐变
createLinearGradient(
x0: number,
y0: number,
x1: number,
y1: number
): CanvasGradient;
createRadialGradient(
x0: number,
y0: number,
r0: number,
x1: number,
y1: number,
r1: number
): CanvasGradient;
}
}