我正在尝试使用Dart在SVG中转换椭圆。除了SetAttribute方式
之外,我还没有找到关于如何做到这一点的任何解释ellipse.setAttribute('transform', 'translate($acx, $acy)');
我发现EllipseElement有一个这样的符号:
ellipse.transform.baseVal[...].setTranslate(acx,acy);
..但它不起作用。我完全不确定setTranslate是如何工作的,我想我必须告诉要翻译哪个元素,但我不知道如何。 使用setATtribute而不是尝试使用其他方法更好吗?
答案 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');