-
-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Download as PNG / SVG / etc #162
Comments
Mike Bostock's examples of Likely how |
See discussion for approach with SVG function downloadSVG() {
const svgEl = document.querySelector('.layercake-layout-svg');
if (svgEl) {
svgEl?.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
svgEl.querySelector('.svg_text')?.classList.remove('hidden');
const svgString = new XMLSerializer().serializeToString(svgEl);
const a = document.createElement('a');
a.href = window.URL.createObjectURL(new Blob([svgString]));
a.download = 'download.svg';
a.click();
a.remove();
svgEl?.removeAttribute('xmlns');
svgEl.querySelector('.svg_text')?.classList.add('hidden');
}
}; |
See discussion for approach with Canvas function downloadPNG() {
const canvas = document.querySelector('.layercake-layout-canvas') as HTMLCanvasElement;
const ctx = canvas.getContext('2d');
const dataUrl = ctx?.canvas.toDataURL('image/png', 1);
const a = document.createElement('a');
a.href = dataUrl;
a.download = 'download.png';
a.click();
a.remove();
}; |
save as svg and png looks good to me... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
<Svg>
,<Canvas>
, etc) will make some options more difficult / impossible<Canvas>
, should be able to use:<Svg>
, should be able to use:new XMLSerializer().serializeToString(svg)
DownloadCanvas
or create a newCanvas
offscreen with higher container width/height overriddenThe text was updated successfully, but these errors were encountered: