Upload canvasRenderer.ts
Browse files
frontend/src/utils/canvasRenderer.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
| 3 |
* 用于将DOM元素渲染为Canvas并转换为Base64图像
|
| 4 |
*/
|
| 5 |
|
|
|
|
|
|
|
| 6 |
// 渲染选项接口
|
| 7 |
interface RenderOptions {
|
| 8 |
scale?: number;
|
|
@@ -30,15 +32,12 @@ export async function renderElementToCanvas(
|
|
| 30 |
timeout = 5000
|
| 31 |
} = options;
|
| 32 |
|
| 33 |
-
return new Promise(
|
| 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,
|
|
|
|
| 3 |
* 用于将DOM元素渲染为Canvas并转换为Base64图像
|
| 4 |
*/
|
| 5 |
|
| 6 |
+
import html2canvas from 'html2canvas';
|
| 7 |
+
|
| 8 |
// 渲染选项接口
|
| 9 |
interface RenderOptions {
|
| 10 |
scale?: number;
|
|
|
|
| 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,
|