我正在开发一个基于 Web 的应用程序,用户可以在其中创建 Svg 设计。我想在客户端将 svg 设计转换为 png 图像文件。我找到了使用画布的解决方案,这在 Firefox 中运行良好,但在 chrome 中会产生安全错误。
检查下面的代码谢谢: -
var mainsvg=document.getElementById('svgforImg');
var canvas=document.getElementById('canvas');
var ctx = canvas.getContext("2d");
var data=mainsvg.innerHTML;
var DOMURL = self.URL || self.webkitURL || self;
var svg = new Blob([data], {
type: "image/svg+xml;charset=utf-8"
});
var url = DOMURL.createObjectURL(svg);
var img = new Image();
img.onload = function() {
ctx.drawImage(img, 0, 0);
DOMURL.revokeObjectURL(url);
var imageurl = canvas.toDataURL("image/png");
}
现在我的变量 imageurl 包含“base64 png”图像。这适用于 Firefox。但在镀铬线
var imageurl = canvas.toDataURL("image/png");
产生安全错误。
任何帮助将不胜感激。