【问题标题】:canvas security error for svg imagessvg 图像的画布安全错误
【发布时间】:2013-01-11 13:54:48
【问题描述】:

我要做的是在画布上绘制 svg 图像,然后创建此画布的 PNG 图像。 这是我所做的一个示例:

        var canvas = document.getElementById('mycanvas');
        var ctx = canvas.getContext('2d');
        var img = new Image();
        img.onload  = function () {
                ctx.drawImage(this, 0, 0, this.width, this.height);
                var url = canvas.toDataURL("image/png");
        }
        img.crossorigin = "Anonymous"; //not sure this affects anything...
        img.src="some image url"

当我设置 png/jpeg 图像的来源时,它可以正常工作,但 src 是 svg 图像,我在调用“ canvas.toDataURL("image/png")"。 不明白有什么区别?

当我采用内联 svg 并将其渲染到画布内,然后尝试创建 png 图像时,也会发生同样的情况。我现在没有代码 - 如果需要,我稍后会添加它。

【问题讨论】:

  • SVG 是否引用任何外部资源?可能是嵌入的光栅图像?
  • 不确定你的意思,这里是svg(很简单):w3.org/2000/svg" style="width: 3.5in; height: 1in">

标签: svg html5-canvas


【解决方案1】:

我找到了解决方案。显然canvas有另一个绘制svgs“drawSvg”的功能,所以我使用它并且它工作。

【讨论】:

  • 您确定所有浏览器都支持此功能,而不是特定于浏览器的扩展程序吗?我在whatwg specifications of canvas 中找不到该函数。
  • 您能告诉我如何使用该功能吗?
猜你喜欢
  • 1970-01-01
  • 2016-04-17
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多