import { Canvg } from 'canvg';
//svg转png
let v = null;
export function svgToPng (svg: any) {
//创建画布
const canvas = document.createElement('canvas');
const ctx = canvas?.getContext('2d');
if(ctx){
//使用fromString方法读取SVG字符串的Canvg
v = Canvg.fromString(ctx, svg);
//开始在画布上绘制SVG
v?.start();
//将画布转换为图像
const img = canvas?.toDataURL("img/png");
let a = document.createElement("a");
a.style.display = "none";
document.body.appendChild(a);
a.href = img;
a.download = "diagram.png";
a.click();
window.URL.revokeObjectURL(a.href);
document.body.removeChild(a);
}
}
下载得到的svg转为png下载
于 2023-03-10 16:41:45 首次发布
该代码示例展示了如何使用Canvg库将SVG转换为PNG。它首先创建一个画布,然后利用Canvg从SVG字符串渲染到画布,接着将画布内容转化为数据URL,最后下载为PNG图像。
736

被折叠的 条评论
为什么被折叠?



