【问题标题】:saveSvgAsPng - getBBox is not a functionsaveSvgAsPng - getBBox 不是函数
【发布时间】:2015-08-21 10:05:02
【问题描述】:

我正在使用 exupero 的 saveSvgAsPng 库将 SVG 保存为 PNG 文件,但是在将它与 Angular-Nvd3 结合使用时遇到了问题。

我收到一条错误消息:

未捕获的类型错误:el.getBBox 不是函数

在我看来,该函数无法从我的 nvd3 元素中“抓取”SVG 元素。

我的代码如下所示:

HTML:

  <button onclick = "saveAsPng();" type="button" name="button"></button>

            <div id = "chart1-canvas">
              <nvd3 id = "chart1-svg" options="options1" data="data1"></nvd3>
            </div>

Javascript:

  function saveAsPng(){
    saveSvgAsPng(document.getElementById("chart1-svg"), "diagram.png");
  }

任何关于如何使这项工作正常工作的建议将不胜感激。

【问题讨论】:

    标签: angularjs svg nvd3.js angularjs-nvd3-directives angular-nvd3


    【解决方案1】:

    我没有使用过 saveSvgAsPng 库,但我想它希望您将指针传递给 SVG 元素,而不是围绕它的 AngularJS 元素。

    尝试以下方法:

    function saveAsPng() {
       var svg = document.getElementById("chart1-svg").getElementsByTagName("svg")[0];
       saveSvgAsPng(svg, "diagram.png");
    }    
    

    【讨论】:

    • 如何在 Angular 2 + 中使用它?
    猜你喜欢
    • 2020-01-22
    • 1970-01-01
    • 2011-09-04
    • 2013-04-29
    • 2017-11-10
    • 2016-02-14
    • 2019-11-11
    • 2018-01-29
    • 1970-01-01
    相关资源
    最近更新 更多