Spaces:
Build error
Build error
import { cloneNode } from './clone-node'; | |
import { embedImages } from './embed-images'; | |
import { applyStyle } from './apply-style'; | |
import { embedWebFonts, getWebFontCSS } from './embed-webfonts'; | |
import { getImageSize, getPixelRatio, createImage, canvasToBlob, nodeToDataURL, checkCanvasDimensions, } from './util'; | |
export async function toSvg(node, options = {}) { | |
const { width, height } = getImageSize(node, options); | |
const clonedNode = (await cloneNode(node, options, true)); | |
await embedWebFonts(clonedNode, options); | |
await embedImages(clonedNode, options); | |
applyStyle(clonedNode, options); | |
const datauri = await nodeToDataURL(clonedNode, width, height); | |
return datauri; | |
} | |
export async function toCanvas(node, options = {}) { | |
const { width, height } = getImageSize(node, options); | |
const svg = await toSvg(node, options); | |
const img = await createImage(svg); | |
const canvas = document.createElement('canvas'); | |
const context = canvas.getContext('2d'); | |
const ratio = options.pixelRatio || getPixelRatio(); | |
const canvasWidth = options.canvasWidth || width; | |
const canvasHeight = options.canvasHeight || height; | |
canvas.width = canvasWidth * ratio; | |
canvas.height = canvasHeight * ratio; | |
if (!options.skipAutoScale) { | |
checkCanvasDimensions(canvas); | |
} | |
canvas.style.width = `${canvasWidth}`; | |
canvas.style.height = `${canvasHeight}`; | |
if (options.backgroundColor) { | |
context.fillStyle = options.backgroundColor; | |
context.fillRect(0, 0, canvas.width, canvas.height); | |
} | |
context.drawImage(img, 0, 0, canvas.width, canvas.height); | |
return canvas; | |
} | |
export async function toPixelData(node, options = {}) { | |
const { width, height } = getImageSize(node, options); | |
const canvas = await toCanvas(node, options); | |
const ctx = canvas.getContext('2d'); | |
return ctx.getImageData(0, 0, width, height).data; | |
} | |
export async function toPng(node, options = {}) { | |
const canvas = await toCanvas(node, options); | |
return canvas.toDataURL(); | |
} | |
export async function toJpeg(node, options = {}) { | |
const canvas = await toCanvas(node, options); | |
return canvas.toDataURL('image/jpeg', options.quality || 1); | |
} | |
export async function toBlob(node, options = {}) { | |
const canvas = await toCanvas(node, options); | |
const blob = await canvasToBlob(canvas); | |
return blob; | |
} | |
export async function getFontEmbedCSS(node, options = {}) { | |
return getWebFontCSS(node, options); | |
} | |
//# sourceMappingURL=index.js.map |