Mit animateColor Farben anpassen

(Auszug aus "Das Einsteigerseminar SVG — Webgrafiken mit XML" von Helma Spona)

Wie das erste Beispiel in diesem Kapitel schon gezeigt hat, können Sie mit dem Tag <animateColor> die Füll- oder Rahmenfarbe eines Elements animieren. Es verfügt lediglich über die Universalattribute für Animationen. Allerdings gibt es hier ein paar Besonderheiten zu beachten. Den Attributen from, by und to müssen Sie Farbwerte zuweisen und auch die values-Liste muss eine Liste von Farbwerten enthalten, die Sie mit Semikola trennen.

Geben Sie das values-Attribut an, können Sie damit die Farben bestimmen, die nacheinander angezeigt werden sollen. Wenn Sie jedoch die Anfangs- und Endfarbe mit from und to angeben, können Sie im Gegensatz zur values-Werteliste nicht bestimmen, welche Zwischenwerte verwendet werden. Das folgende Beispiel zeigt dies. Es verändert die Textfarbe bzw. die Randfarbe eines Textes mit Hilfe verschiedener Animationen.

In der ersten Animation wird die Farbe von Blau nach Rot überblendet und durch calcMode="discrete" erst nach Abschluss der Animation angezeigt. Die zweite Animation blendet die Farben ebenfalls von Blau nach Rot. Da hier aber calcMode nicht angegeben wird, sind die Überblendungen sichtbar.

Die dritte Animation verwendet das values-Attribut, um die einzelnen Farben zu definieren, und bestimmt mit dem keyTimes-Attribut, nach wie viel Sekunden das passieren soll. Die letzten beiden Animationen beziehen sich beide auf den letzten Text und verändern Füll- und Randfarbe in entgegengesetzte Richtung.

Hinweis:
Anstelle von Farbnamen können Sie selbstverständlich auch die rgb-Anweisung verwenden.

<defs>
  <animateColor xlink:href="#text1" dur="6s" from="blue" to="red" attributeName="fill" calcMode="discrete" fill="freeze"/>
  <animateColor xlink:href="#text2" dur="6s" from="blue" to="red" attributeName="fill" fill="freeze"/>
  <animateColor xlink:href="#text3" dur="6s" begin="4s" values="blue;red;green;blue;white;yellow;red" keyTimes="0;1;1.5;2;3;3.5;4" attributeName="fill" fill="freeze"/>
  <animateColor xlink:href="#text4" dur="6s" begin="4s" from="blue" to="red" attributeName="fill" fill="freeze"/>
  <animateColor xlink:href="#text4" dur="6s" begin="4s" from="red" to="blue" attributeName="stroke" fill="freeze"/>
</defs>
<text x="20" y="40" id="text1" style="font-family:'Arial Black';font-size:40px;fill:blue;stroke:red">SVG</text>
<text x="20" y="100" id="text2" style="font-family:'Arial Black';font-size:40px;fill:blue;stroke:red">SVG</text>
<text x="20" y="160" id="text3" style="font-family:'Arial Black';font-size:40px;fill:blue;stroke:red">SVG</text>
<text x="20" y="220" id="text4" style="font-family:'Arial Black';font-size:40px;fill:blue;stroke:red">SVG</text>

   

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema SVG bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © verlag moderne industrie GmbH 2001
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "Das Einsteigerseminar SVG — Webgrafiken mit XML" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

verlag moderne industrie GmbH, Justus-von-Liebig-Straße 1, D-86899 Landsberg/Lech, fon ++49 (0) 81 91 / 125 – 0, leserservice(at)mi-verlag.de