javascript - 使用 svg.js 移动导入的 svg

标签 javascript svg.js

我正在尝试使用 svg.js 导入一个 svg 片段,然后对其进行偏移,但似乎我尝试使用的任何转换方法都不适用于导入的 svg。

我的代码:

var lang = SVG('lang').size(400,400)
var swe = lang.svg('<svg id="swe" width="65" height="40.625" preserveAspectRatio="xMidYMid meet" zoomAndPan="magnify" version="1.0" contentScriptType="text/ecmascript" contentStyleType="text/css" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" fill="navy"/>' +
'<g transform="scale(4.0625)">' +
'    <rect x="5" width="2" height="10" fill="gold"/>' +
'    <rect y="4" width="16" height="2" fill="gold"/>' +
'</g></svg>')

swe.dx(100).dy(50) <-- this line does nothing.

也没有任何其他应该翻译的方法,如 x()transform()move()

我试过制作一个矩形并导入到同样不起作用的矩形中:

var flag = lang.rect(65, 40.625)
var swe = flag.svg(<svg code>)
swe.dx(100).dy(50)

我在文档中找不到任何让我更聪明的东西。有没有人有这方面的经验?

最佳答案

首先:一个矩形元素不能有任何 child ,所以你最后的方法是胡说八道。

此外,不允许转换 svg 元素,因此转换也不起作用。另一方面,x 和 y 属性仅适用于嵌套 svg 而不适用于根 svg。

您可以创建一个组,在那里导入 svg 并移动该组。或者您可以遍历根 svg 的所有子项并移动它们(您可以使用 children().each() 方法遍历子项。

关于javascript - 使用 svg.js 移动导入的 svg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42654452/

相关文章:

javascript - 在 svg.js 中创建动画以使对象沿着连续路径以不同的速度移动

javascript - postman 正则表达式 - 语法错误 : Invalid or unexpected token

javascript - 如何使用 JavaScript 清除 MS Dynamics CRM 4.0 中的查找字段

javascript - 我可以使用哪种技术在表单字段中加载对象的值,然后更新该值,使其可用于我的 $scope 变量

javascript - 如何使用 svg 用纹理填充多边形?

javascript - 如何使用 svg.js 制作 Ember 组件?

javascript - 如何将自定义事件添加到 svg.js

javascript - 如何为使用内存使用包运行的 Nodejs 设置 pass max-old-space-size 内存限制

javascript - 为什么 insertAdjacentHTML 将 HTML 转换为对象

svg - 使用 svg.js 调整嵌套和导入的 svg 的大小