HOME - SMIL: Version 2.1 vom 20.06.2005 © Wolfgang von Keitz


Vorwort
Grundlagen
Layout
Zeit

Bild, Text und Ton

SMIL und HTML
Referenz
Beispiele
Anhang
Quellen

4. Bild, Text und Ton

4.3. Überblendungen - Das Transition Effects Modul

In unseren bisherigen Beispielen wurden zwischen den Präsentationen einzelner Medienobjekte keine Übergänge wie aufblenden, überblenden oder abblenden benutzt. Das Transition-Effects-Modul erlaubt die Definition von Übergängen. Hierfür werden zwei Elemente benutzt: Das <transition>-Element und das <transitionFilter>-Element.

SMIL 1.0 kannte keine Überblendungen. Aus diesem Grund wurde von RealNetworks eine proprietäre Ergänzung zu SMIL entwickelt, die allerdings nur für den RealPlayer anwendbar ist. Diese von RealNetworks entwickelten Elemente werden ausführlich im Abschnitt Real-Pix für Bildüberblendungen und Real-Text für Textüberblendungen beschrieben. Die SMIL-Standard-Elemente <transition> und <transitionFilter> werden in den folgenden Abschnitten erläutert.

In SMIL werden Überblendungen als Eigenschaft eines Medienobjekts betrachtet. Die Überblendung verändert das Medienobjekt selbst nicht sondern beeinflusst ledieglich die Art und Weise, wie das Objekt präsentiert wird. Dies bedeutet natürlich auch, dass die Dauer einer Präsentation durch Überblendungen nicht verändert wird.

Drei Parameter bestimmen die Ausführung eines Überblendeffekts. Der erste Parameter bestimmt die Geschwindigkeit der Überblendung und die beiden anderen Parameter bestimmen das Ausgangsobjekt und das Endobjekt des Überblendprozesses. Das Ausgangsobjekt kann entweder als Hintergrund oder als Quellelement spezifiziert sein. Der Hintergund kann eine Hintergundfarbe, ein stilles oder ein bewegtes Bild sein. Ein Überblendeffekt bewegt sich immer von einem Hintergrund oder Quellelement zu einem Zielelement.

Der Vorgang der Überblendung wird durch die Art des Effekts und die Geschwindigkeit (progress) des Effekts bestimmt. Die Dauer eines Effekts wird durch eine Dezimalzahl bestimmt, die von 0.0 bis 1.0 reichen kann. 0.0 bedeutet, dass nur der Hintergrund gezeigt wird, während 1.0 bedeutet, dass nur das Zielobjekt gezeigt wird. 0.5 bedeutet, dass sowohl Quellobjekt als auch Zielobjekt zu je 50% gezeigt werden.

Die Art der Überblendung bzw. die Effekte basieren auf Definitionen, die von der Society of Motion Pictures Engineers festgelegt wurden. Sie werden zusammenfassend als SMPTE wipes bezeichnet. Darüberhinaus gibt es noch einige SMIL-spezifische Effekte, die später erläutert werden. In SMIL 2.0 sind die Überblendeffekte in zwei Ebenen eingeteilt worden, die über die Attribute type bzw subtype gekennzeichnet werden. type die Art des Effekts; subtype kennzeichnet die Richtung des Effekts. SMIL kennt fünf Effektarten:

Um Übergänge in SMIL zu nutzen, gibt es zwei Methoden. Bei der ersten Methode wird ein Effekt mit einem Identifier im <head>-Teil des SMIL-Dokuments definiert. Diese Methode benutzt das <transition>-Element. Später wird dann der Effekt über den Identifier mit dem entsprechenden Medienobjekt im <body>-Teil verknüpft. Bei der zweiten Methode wird der Effekt direkt mit dem Medienobjekt spezifiziert. Bei dieser zweiten Methode wird das <transitionFilter>-Element benutzt.

4.3.1. Das <transition>-Element

Das <transition>-Element definiert eine Überblendungssklasse. Im Regelfall wird das <transition>-Element im <head>-Teil der SMIL-Anwendung plaziert. Es kennt die Attribute

  • id - Eindeutige Benennung der Überblendung
  • type - Effektart
  • subtype - Effektrichtung
  • startProgress - Ausgangsprozentsatz der Überblendung in Werten zwischen 0 und 1. (Voreinstellung 0.0)
  • endProgress - Endprozentsatz der Überblendung in Werten zwischen 0 und 1. (Voreinstellung 1.0)
  • direction - Effektablaufrichtung (forward, reverse)
  • dur - Dauer des Effekts
  • borderColor - Farbangabe in Standardfarbe, hexadezimal oder blend
  • borderWidth - Breitenangabe in Pixel
  • fadeColor - Übergang von oder zu einer Farbe in Verbindung mit den Attributwerten fadeToColor oder fadeFromColor des Attributs subtype. Voreinstellung ist schwarz.
  • horzRepeat, vertRepeat - horizontale und/oder vertikale Vervielfachung eines Effekts

Um einen im <head>-Teil mit Hilfe des <transition>-Elements definierten Überblendeffekt abrufen zu können, werden beim betreffenden Medienobjekt die Attribute transIn und/oder transOut benutzt. Als Attributwert wird dann die id des <transition>-Elements oder eine durch Semikolon getrennte Liste mehrerer id-Werte angegeben.

Ein einfaches Beispiel für die Definition eines Überblendeffekts:

<transition id="ftb1" type="fade" subtype="fadeToColor" dur ="2s" fadeColor="white" />

4.3.1.1. Die transIn- und transOut-Attribute

Wurde im <head>-Teil einer SMIL-Applikation ein Überblendeffekt definiert, kann dieser bei den im <body>-Teil verwendeten Medienelementen eingesetzt werden. Hierfür werden die Medienelementattribute um die Attribute transIn und transOut erweitert. Das transIn-Attribut bezieht sich auf den Präsentationsbeginn eines Medienobjekts und das transOut-Attribut auf das Präsentationsende oder, wenn ein fill-Wert angegeben wurde, auf das Ende des fill-Status. Dabei ist zu beachten, dass die Überblendung die Präsentationsdauer eines Objekts nicht verlängert.

Als Attributwert von transIn und transOut dient der id-Wert der Übergangsklasse, der die Art des Übergangs definiert. Beispiel:

<transition id="ftb1" type="fade" subtype="fadeToColor" dur ="2s" fadeColor="black" />

...............

<par>
<img src="...." transOut="ftb1" dur ="10s" fill="remove" />
<video src="...." transOut="ftb1" dur="30s" />
</par>

Im <head>-Teil der SMIL-Anwendung wurde ein zwei Sekunden dauernder Abblendvorgang auf die Farbe schwarz als Übergang mit der id „ftb1“ definiert. Im <body>-Teil wird dieser Übergang bei einem Bild und einem Video benutzt. Die Präsentationsdauer des Bildes beträgt 10 Sekunden inklusive des Abblendvorgangs. Dies bedeutet, dass das Bild 8 Sekunden voll zu sehen ist, und dass dann der Abblendvorgang vom Bild auf schwarz beginnt. Nach 10 Sekunden ist die Präsentation beendet. Die Präsentation der Schwarzblende endet aufgrund des Attributs fill=remove zum Präsentationsende des Objekts.

Im folgenden Beispiel wird der Effekt "fade to color" zwischen zwei Videos gezeigt.

Der Normalfall einer Überblendung bezieht sich auf zwei Objekte, die nacheinander präsentiert werden sollen. Dabei soll der Übergang von einem Objekt zu dem anderen Objekt durch eine Überbledung erfolgen. Für zwei Videos kann dies wie folgt geschehen:

<seq>
<video src="...." fill="transition" />
<video src="...." transIn="xfade1" />
</seq>

Um den nahtlosen Übergang von dem ersten Video zu dem zweiten Video zu gewährleisten, muss das erste Video das fill-Attribut mit dem Attributwert „transition“ benutzen. Damit wird der letzte Frame des ersten Videos eingefroren und dient auf diese Weise als Ausgangsframe für die Überblendung durch die Folgeframes des zweiten Videos. Im folgenden Beispiel wird die Überblendung zweier Videos gezeigt.

Für die Benutzung von Überblendungen bei Slideshows mag folgendes Beispiel gelten:

<transition id="wipe1" type="barWipe" subtype="leftToRight" dur ="2s" />

...............

<seq>
<img src="...." dur ="10s" fill="transition" dur="5s"/>
<img src="...." transIn="wipe1" fill="transition" dur="5s" />
</seq>

Zum Zeitpunkt 0 beginnt die Präsentation. Das erste Bild wird für 5 Sekunden gezeigt. Dann beginnt die Überblendung zum zweiten Bild. Die Überblendung ist nach einer Sekunde abgeschlossen. Das zweite Bild ist für 4 Sekunden voll sichtbar. Die Präsentation ist nach 10 Sekunden beendet. Im folgenden Beispiel werden unterschiedliche wipe-Arten demonstriert.

4.3.1.2. Die transition modifier Attribute

Transition-modifier-Attribute bieten eine erweiterte Möglichkeit, Überblendungen zu steuern. Im einzelnen handelt es sich um folgende Attribute:

  • horzRepeat - Ganzzahlige Attributwerte, die angeben, wie oft der Übergangseffekt bezogen auf eine horizontale Achse wiederholt werden soll; Voreinstellung ist 1.
  • vertRepeat - Ganzzahlige Attributwerte, die angeben, wie oft der Übergangseffekt bezogen auf eine vertikale Achse wiederholt werden soll; Voreinstellung ist 1.
  • borderWidth - Ganzzahlige Werte, die einen Rand um den Übergangseffekt erzeugen; Voreinstellung ist 0 (kein Rand).
  • borderColor - Farbwert des Randes.

Mit den Attributen horzRepeat und vertRepeat kann ein Überblendungseffekt sowohl in horizontaler wie in vertikaler Richtung wiederholt werden. Die Arbeitsweise dieses Effekts soll an folgendem Beispiel verdeutlicht werden. Mit

<transition id="fan1" type="fanWipe" subtype="centerTop" dur ="2s" />

wird zwischen zwei Bilder ein Überblendeffekt erzielt. Mit

<transition id="fan2" type="fanWipe" subtype="centerTop" dur="2s" horzRepeat="2s" />

wird derselbe Überblendeffekt gleichzeitig zweimal erzeugt. Im folgenden Beispiel werden die Möglichkeiten von Effektwiederholungen demonstriert.

4.2.2. Das <transitionFilter>-Element

Das <transitionFilter>-Element ist ein Animationselement, das dem <animateMotion>-Element vergleichbar ist. Das <animateMotion>-Element verändert die Position eines Objekts, das <transitionFilter>-Element verändert den Übergang von einem Objekt zu einem anderen Objekt. Die Funktionsweise des <transitionFilter>-Elements soll an einem einfachen Beispiel verdeutlicht werden:


<img id="wolf" src="wolf.jpg." fill="transition" dur="5s">
<transitionFilter type="barWipe." subtype="leftToRight" dur="1s" />
</img>

Das Bild wolf.jpg wird innerhalb einer Sekunde von links nach rechts eingeblendet und für 4 weitere Sekunden gezeigt.

Das <transitionFilter>-Element kennt folgende Attribute:

  • type - Effektart
  • subtype - Effektrichtung
  • mode - ein- oder ausblenden mit den Werten „in“ für einblenden und „out“ für ausblenden; Voreinstellung ist „in“.
  • fadeColor - Übergang von oder zu einer Farbe. Voreinstellung ist schwarz.
  • begin - Start des Übergangs.
  • dur - Dauer des Übergangs.
  • end - Ende des Übergangs.
  • repeatCount - Anzahl der Wiederholungen.
  • repeatDur - Dauer der Wiederholungen.
  • from - Ausgangspunkt der Einblendung in Prozent; Werte zwischen 0 und 1; Voreinstellung ist 0.
  • to - Endpunkt der Einblendung in Prozent; Werte zwischen 0 und 1; Voreinstellung ist 0.
  • by - Relativer Ausgangspunkt der Einblendung in Prozent; Werte zwischen 0 und 1; Voreinstellung ist 0.
  • values - Durch Semikolon getrennte Werteliste von Werten zwischen 0 und 1, die den Übergang bestimmen.
  • calcMode - Berechnungsmodus für die Übergangswerte mit den Werten discrete (ohne Interpoltaion), linear (lineare Interpolation).
  • targetElement - Element, das animiert wird.
  • href - Link zum Target-Element.

Beispiel:

<seq>
<img id="butter" src="butterfly.jpg." dur ="5s" fill="transition" / >
<img id="eagle" src="eagle.jpg." dur ="5s" fill="transition" >
<transitionFilter type="barWipe" subtype="leftToRight" dur="1s" />
</img>

<img id="wolf" src="wolf.jpg." dur ="5s" fill="transition" >
<transitionFilter type="barWipe" subtype="leftToRight" dur="1s" />
</img>
</seq>

Das transitionFilter-Element kann mit dem param-Element arbeiten, um bestimmte Parameter spezifizieren zu können, die für den Übergang benötigt werden. Beispiel:

<transitionFilter type="windshieldWipe" begin="4s" from ="0.5" to="1.0" dur="3s" />
<param name="radius" value="3in" />
</transitionFilter>

zurueck top weiter