Dart SVG翻译对象

时间:2014-01-01 21:44:17

标签: dart dart-html

我正在尝试使用Dart在SVG中转换椭圆。除了SetAttribute方式

之外,我还没有找到关于如何做到这一点的任何解释
ellipse.setAttribute('transform', 'translate($acx, $acy)');

我发现EllipseElement有一个这样的符号:

ellipse.transform.baseVal[...].setTranslate(acx,acy);

..但它不起作用。我完全不确定setTranslate是如何工作的,我想我必须告诉要翻译哪个元素,但我不知道如何。 使用setATtribute而不是尝试使用其他方法更好吗?

1 个答案:

答案 0 :(得分:1)

我成功尝试了

    
ellipse.setAttribute('transform', 'translate(150, 150)');

如果您使用transform创建setAttribute属性,则以下内容也正常工作

ellipse.transform.baseVal.first.setTranslate(20, 100);

或者您可以添加Transform,如此问题的答案所示Dart create and transform an SVG path

Matrix m = new svg.SvgSvgElement().createSvgMatrix();
Matrix m2 = m.translate(50, 50);
Transform tr = ellipse.transform.baseVal.createSvgTransformFromMatrix(m2);
ellipse.transform.baseVal.appendItem(tr);

您可以使用

设置颜色
ellipse.style.setProperty('fill', '#07f');