svg - 在 KineticJS 中加载 SVG

标签 svg kineticjs

我正在尝试加载 SVG 文件并想使用 KineticJS (KJS) 在 Canvas 上显示它,所以想知道是否可以使用 KJS 在 Canvas 中显示任何具有随机形状和路径的 SVG 文件?

现在通过不同的软件导出的SVG也有很大的不同,比如说通过Adobe Illustrator导出的SVG中有填充、描边、描边宽度等作为它们各自标签的属性,而通过Inkscape导出的SVG具有所有这些IE填充、描边、描边宽度等。作为它们各自标签的“样式”属性的字符串值。

因此,我即将编写自己的 SVG 解析器,特定于 AI 导出的 SVG 格式,然后使用它通过 KJS 在 Canvas 上重新绘制 SVG。但在此之前,我只想检查一下:

  • 是否有任何可用的工具可以将所有原始(线、矩形、圆等)标签转换为路径标签? IE。它们被转换为等效的路径标签,而不是 rect 和 ellipse 标签。
  • 除了 KJS 之外,还有其他方法可以将 SVG 加载到 Canvas 上吗?
  • 最佳答案

    不幸的是你不能drawImage SVG 到 Canvas ( test )。

    但是你可以使用 canvg以自定义 KineticJS 形状( test )绘制 SVG:

    var drawSvg = new Kinetic.Shape ({
      x: 10, y: 10,
      drawFunc: function (canvas) {
        canvas.getContext().drawSvg (svgSource, 0, 0, 25, 25)
      }
    }); layer.add (drawSvg)
    

    关于svg - 在 KineticJS 中加载 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13538945/

    相关文章:

    css - 使用 object-fit 在 flex 容器中实现重叠图像

    javascript - KineticJS 选择形状并在其正下方显示 div

    javascript - 如何找出canvas、kinetic js中的点击事件

    css - 悬停前后不同的CSS样式

    python - 开罗_状态_写入_错误: b'error while writing to output stream' on Google Cloud Functions

    javascript - 如何在强制布局 D3.js 中生成指向右侧的链接

    javascript - 我的元素foreignObject 未显示

    javascript - KineticJS 图像不能在本地工作,有时在线工作

    javascript - 如何使用 HTML5/Javascript 防止长时间触摸/点击时选择 Canvas ?

    javascript - Kinetic JS - 缩放图像以适合 Canvas ?