繁体   English   中英

在客户端将Svg转换为Png

[英]Convert Svg to Png on Client Side

我正在基于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");

产生安全性错误。

任何帮助将不胜感激。

我认为这与这个问题有关 SVG源自哪个服务器? 如果它不同于您的应用程序来自的应用程序(请记住:子域很重要!),则可以在原始服务器中添加所需的http标头。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM