Upload canvasRenderer.ts
Browse files
frontend/src/utils/canvasRenderer.ts
CHANGED
@@ -3,8 +3,6 @@
|
|
3 |
* 用于将DOM元素渲染为Canvas并转换为Base64图像
|
4 |
*/
|
5 |
|
6 |
-
import html2canvas from 'html2canvas';
|
7 |
-
|
8 |
// 渲染选项接口
|
9 |
interface RenderOptions {
|
10 |
scale?: number;
|
@@ -32,12 +30,15 @@ export async function renderElementToCanvas(
|
|
32 |
timeout = 5000
|
33 |
} = options;
|
34 |
|
35 |
-
return new Promise((resolve, reject) => {
|
36 |
const timeoutId = setTimeout(() => {
|
37 |
reject(new Error('Canvas rendering timeout'));
|
38 |
}, timeout);
|
39 |
|
40 |
try {
|
|
|
|
|
|
|
41 |
// 使用html2canvas进行渲染
|
42 |
html2canvas(element, {
|
43 |
scale,
|
|
|
3 |
* 用于将DOM元素渲染为Canvas并转换为Base64图像
|
4 |
*/
|
5 |
|
|
|
|
|
6 |
// 渲染选项接口
|
7 |
interface RenderOptions {
|
8 |
scale?: number;
|
|
|
30 |
timeout = 5000
|
31 |
} = options;
|
32 |
|
33 |
+
return new Promise(async (resolve, reject) => {
|
34 |
const timeoutId = setTimeout(() => {
|
35 |
reject(new Error('Canvas rendering timeout'));
|
36 |
}, timeout);
|
37 |
|
38 |
try {
|
39 |
+
// 动态导入html2canvas
|
40 |
+
const { default: html2canvas } = await import('html2canvas');
|
41 |
+
|
42 |
// 使用html2canvas进行渲染
|
43 |
html2canvas(element, {
|
44 |
scale,
|