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>

|