如何在圆的中心点旋转矩形

时间:2012-03-15 22:13:36

标签: animation svg transform

我尝试围绕他的中心点旋转矩形,但我无法理解它是如何工作的。 svg中是否有简单的代码可以解决没有Cos Sin函数或复杂代码的问题。 我尝试了一些很多的测试后,我终于成功了,但是如果我想调整重新调整大小或者将它移到中心页面都是乱七八糟的,你能告诉我如何做到这一点吗? 谢谢。 jsfiddle.net

我的代码:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<rect x="10" y="10" height="100" width="100"
         style="stroke:#FF0000; fill: #9C4100">

        <animateTransform
            attributeName="transform"
            begin="0s"
            dur="40s"
            type="rotate"
            from="0 60 60"
            to="360 60 60"
            repeatCount="1" 
        />
    </rect>
<circle id="pointA" cx="60" cy="60" r="48" />
</svg>​

1 个答案:

答案 0 :(得分:2)

将图像置于原点上并将其“转换”到所需位置。 我相信你想要这样的东西;

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
 <g transform="translate(250,200)">
   <rect x="-50" y="-50" height="100" width="100"
     style="stroke:#FF0000; fill: #9C4100">

    <animateTransform
        attributeName="transform"
        begin="0s"
        dur="20s"
        type="rotate"
        from="0"
        to="360"
        repeatCount="1" 
    />
   <animateTransform attributeName="transform"
    type="scale" from="1" to="2" 
    additive="sum" begin="0" dur="20s" fill="freeze"/>
  </rect>
  <circle id="pointA" cx="0" cy="0" r="48" />
</g>
</svg>