Update export.ts
This commit is contained in:
parent
73a45e1988
commit
d87e080e88
@ -14,6 +14,18 @@ import {
|
||||
|
||||
export const SVG_EXPORT_TAG = `<!-- svg-source:excalidraw -->`;
|
||||
|
||||
const createScene = (
|
||||
elements: readonly NonDeletedExcalidrawElement[],
|
||||
): Scene | null => {
|
||||
if (!elements || Scene.getScene(elements[0])) {
|
||||
return null;
|
||||
}
|
||||
const scene = new Scene();
|
||||
scene.replaceAllElements(elements);
|
||||
elements?.forEach((el) => Scene.mapElementToScene(el, scene));
|
||||
return scene;
|
||||
};
|
||||
|
||||
export const exportToCanvas = async (
|
||||
elements: readonly NonDeletedExcalidrawElement[],
|
||||
appState: AppState,
|
||||
@ -37,6 +49,7 @@ export const exportToCanvas = async (
|
||||
return { canvas, scale: appState.exportScale };
|
||||
},
|
||||
) => {
|
||||
const scene = createScene(elements);
|
||||
const [minX, minY, width, height] = getCanvasSize(elements, exportPadding);
|
||||
|
||||
const { canvas, scale = 1 } = createCanvas(width, height);
|
||||
@ -76,6 +89,7 @@ export const exportToCanvas = async (
|
||||
},
|
||||
});
|
||||
|
||||
scene?.destroy();
|
||||
return canvas;
|
||||
};
|
||||
|
||||
@ -97,6 +111,7 @@ export const exportToSvg = async (
|
||||
exportScale = 1,
|
||||
exportEmbedScene,
|
||||
} = appState;
|
||||
const scene = createScene(elements);
|
||||
let metadata = "";
|
||||
if (exportEmbedScene) {
|
||||
try {
|
||||
@ -169,6 +184,7 @@ export const exportToSvg = async (
|
||||
exportWithDarkMode: appState.exportWithDarkMode,
|
||||
});
|
||||
|
||||
scene?.destroy();
|
||||
return svgRoot;
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user