next plan previous Logo

Les animations : exemple

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG December 1999//EN"
  "http://www.w3.org/Graphics/SVG/SVG-19991203.dtd">
<svg width="8cm" height="3cm"  viewBox="0 0 800 300">
  <desc>Example anim01 - demonstrate animation elements</desc>

  <!-- The following illustrates the use of the 'animate' element
to animate a rectangles x, y, and width attributes so that
the rectangle grows to ultimately fill the viewport. -->
  <rect id="RectElement" x="300" y="100" width="300" height="100"
   style="fill:rgb(255,255,0)" >
 <animate attributeName="x" attributeType="XML"
      begin="0s" dur="9s" fill="freeze" from="300" to="0" />
 <animate attributeName="y" attributeType="XML"
      begin="0s" dur="9s" fill="freeze" from="100" to="0" />
  <animate attributeName="width" attributeType="XML"
   begin="0s" dur="9s" fill="freeze" from="300" to="800" />
  <animate attributeName="height" attributeType="XML"
  begin="0s" dur="9s" fill="freeze" from="100" to="300" />
  </rect>
<!-- Set up a new user coordinate system so that
the text string's origin is at (0,0), allowing
 rotation and scale relative to the new origin -->
  <g transform="translate(100,100)" >
    <!-- The following illustrates the use of the 'set', 'animateMotion',
'animateColor' and 'animateTransform' elements. The 'text' element
 below starts off hidden (i.e., invisible). At 3 seconds, it:
   * becomes visible
   * continuously moves diagonally across the viewport
   * changes color from blue to dark red
   * rotates from -30 to zero degrees
   * scales by a factor of three. -->
<text id="TextElement" x="0" y="0"
  style="font-family:Verdana; font-size:35.27; visibility:hidden" >
  It's alive!
 <set attributeName="visibility" attributeType="CSS" to="visible"
begin="3s" dur="6s" fill="freeze" />

<animateMotion path="M 0 0 L 100 100"
 begin="3s" dur="6s" fill="freeze" />
 <animateColor attributeName="fill" attributeType="CSS"
 from="rgb(0,0,255)" to="rgb(128,0,0)"
 begin="3s" dur="6s" fill="freeze" />
 <animateTransform attributeName="transform" attributeType="XML"
 type="rotate" from="-30" to="0"

 begin="3s" dur="6s" fill="freeze" />
<animateTransform attributeName="transform" attributeType="XML"
 type="scale" from="1" to="3"
 begin="3s" dur="6s" fill="freeze" />
    </text>
  </g>
</svg>


Didier Courtaud
Le langage SVG
25 Janvier 2000

68 / 74

Logo orateur