缩放和旋转在拉斐尔.js
scaling and rotation in Raphael.js
我不明白拉斐尔.js转换函数是如何工作的。我有下面一段代码:
var paper = new Raphael(0,0,1000,1000);
var rect = paper.rect(0,0,40,40);
rect.transform("s2,2,0,0t30,30");
转换的结果是在每个轴上移动60像素而不是30。为什么缩放会影响转换?
如果提供了一个转换列表,那么最终的效果就好像每个转换都是按照提供的顺序单独指定的。例如,
var rect = paper.rect(0,0,40,40);
rect.transform("s2,2,0,0t30,30");
在功能上等同于下面的SVG标记(尽管这实际上不是raphael将生成的)
<g transform="scale(2)">
<g transform="translate(30,30)">
<rect x="0" y="0" width="30" height="30"/>
</g>
</g>
从内到外,我们从x1, y1, x2, y2 = 0,0,30,30处的矩形开始,这是在一个转换后的<g>
中,它将其移动到30,30,60,60然后在一个缩放后的<g>
中,它将结果缩放到60,60,120,120即60像素的平移
相关文章:
- 使用D3.js旋转外部SVG文件
- Kinetic.js旋转组对象的新子对象具有不正确的偏移
- JS旋转函数输出奇怪的X值
- 版本70关于TrackballControls.js旋转
- 画架js旋转容器退出屏幕
- 在印象中面临问题.js旋转木马
- CSS/JS/HTML:JS 旋转整页的函数
- 三.js旋转模型的一部分
- 如何使Bootstrap js旋转木马在页面加载后立即自动循环
- 正在寻找响应灵敏的js旋转木马
- 使用Raphael.js旋转图像
- (立方体)用三个.js旋转
- Boostrap.js旋转木马不工作
- 三.js旋转矢量和屏幕边缘检测
- 如何使用SVG.js旋转梯度
- 如何改变THREE.js旋转地球仪从画布到WebGL
- Hammer.js旋转木马开始窗格
- JS旋转木马停止时,鼠标停留
- js旋转,缩放不发生围绕对象的中心轴
- js旋转除了摄像机以外的所有东西