【问题标题】:svg.js creates double SVGssvg.js 创建双 SVG
【发布时间】:2014-05-27 00:22:59
【问题描述】:

我正在尝试使用 SVG.js 创建一个 SVG,但它似乎在我的文档中创建了多个 SVG 元素,而不仅仅是一个。我已将 SVG.js 主页 (http://www.svgjs.com/) 中的代码复制粘贴到 HTML 文档中,但它的作用相同。有人可以帮帮我吗?

<meta http-equiv="content-type" content="text/html; charset=UTF8">
<html>
  <head>
    <title>Drawing</title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="svg.min.js"></script>
  </head>

  <body>
    <div id="drawing">
    </div>

    <script>
        var draw = SVG('drawing')

        // create image
        var image = draw.image('images/shade.jpg')
        image.size(600, 600).y(-150)

        // create text
        var text = draw.text('SVG.JS').move(300, 0)
        text.font({
          family: 'Source Sans Pro'
        , size: 180
        , anchor: 'middle'
        , leading: 1
        })

        // clip image with text
        image.clipWith(text)

    </script>
  </body>
</html>

【问题讨论】:

  • 不,很遗憾,我没有。我最终切换到snapsvg.io

标签: svg.js


【解决方案1】:

原因很简单。 svg.js 创建了 2 个文档。一个用于显示它,另一个是隐藏的,用作不同功能的解析器。 这样lib可以例如计算一个数组的边界框。

请注意,此解析器只创建一次。因此,即使您构建了多个 svg 文档,也只会有一个额外的文档用于解析

这在此处记录:http://svgjs.dev/faq/#two-svg-s-are-generated-when-i-initialize-svg-js-is-that-a-bug

【讨论】:

  • 谢谢!我希望这些信息可以在他们的网站和/或 GitHub 存储库上找到。假设这是一个错误,我几乎也切换了库。
  • 为什么在一切正常的情况下你会认为这是一个错误?
  • 因为他们提供了一个示例,说明在您使用他们的库添加 SVG 后您的标记应该是什么样子 - 他们没有显示或以其他方式提及额外的 SVG。
猜你喜欢
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-02
  • 2019-01-30
  • 2019-08-04
  • 2013-04-01
相关资源
最近更新 更多