2

Dart を使用して SVG の楕円を変換しようとしています。SetAttribute の方法以外に、その方法についての説明は見つかりませんでした

ellipse.setAttribute('transform', 'translate($acx, $acy)');

EllipseElement には次のような表記があることがわかりました。

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

..しかし、うまくいきません。setTranslate がどのように機能するのかまったくわかりません。翻訳する要素を指定する必要があると思いますが、その方法がわかりません。他の方法を使用する代わりに、setATtribute を使用する方がよいでしょうか?

4

1 に答える 1

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');
于 2014-01-02T09:05:10.763 に答える