D3.js关于SVG(2) 最后更新时间:2021年03月18日 ## SVG转化 SVG引入了一个新属性,transform为支持转换。可能的值是以下一项或多项。 - Translate - 它有两个选项, tx沿x轴平移, ty沿y轴平移。 - Rotate - 它有三个选项, angle指旋转角度, cx和cy指的是x和y轴旋转的中心。 如果未指定cx和cy ,则默认为坐标系的当前原点。 - Scale - 它有两个选项, sx沿x轴的比例因子, sy沿y轴的比例因子。 这里, sy是可选的,如果没有指定,则它取sx的值。元素的长宽属性值与sx和sy的值相乘。 - Skew (SkewX and SkewY) - 只需一个选项; skew-angle指的是SkewX沿x轴的角度和SkewY沿y轴的角度。这个属性可以拆分为skewX和skewY。注意的是,X和Y需要大写 ### 示例一(translate): ```html ``` 代码实际效果如下: 可以明显看出,矩形的位置在(100,100)这个地方。 ### 示例二(rotate): ```html ``` 代码实际效果如下: 可以明显看出,矩形在(20,20)位置,围绕(20,20)这个点旋转了50度。 ### 示例三(scale): ```html ``` 代码实际效果如下: 原本长宽都为20的矩形,设置scale后,width实际值变为了11*20=220,height实际值变为了20*1.2=24。 ### 示例四(skew): ```html ``` 代码实际效果如下: 可以看出,图形变成了平行四边形。 ## 使用d3.js进行svg转换 步骤如下: (1)创建一个容器来保存SVG图像。 (2)创建svg图像。 (3)用attr方法为图像添加transfrom属性。 (4)为transfrom属性设置相应的转换效果。 示例: ```html ``` 示例中,在div容器中添加了一个圆形svg图像,并对圆形进行了移动,比例和沿角度拉扯的效果。
Comments | NOTHING