Freigeben über


Arbeiten mit Animation

In diesem Thema wird die Open XML SDK für Office-Klasse Animate und ihre Beziehung zum PresentationML-Schema des Open XML-Dateiformats erläutert. Weitere Informationen zur Gesamtstruktur der Teile und Elemente eines PresentationML-Dokuments finden Sie unter Struktur eines PresentationML-Dokuments.

Animation in PresentationML

In der ISO/IEC 29500-Spezifikation wird der Animationsabschnitt des Open XML PresentationML-Frameworks wie folgt erläutert:

The Animation section of the PresentationML framework stores the movement and related information of objects. This schema is loosely based on the syntax and concepts from the Synchronized Multimedia Integration Language (SMIL), a W3C Recommendation for describing multimedia presentations using XML. The schema describes all the animations effects that reside on a slide and also the animation that occurs when going from slide to slide (slide transition). Animations on a slide are inherently time-based and consist of an animation effects on an object or text. Slide transitions however do not follow this concept and always appear before any animation on a slide. All elements described in this schema are contained within the slide XML file. More specifically they are in the <transition/> and the <timing/> element as shown below:

<p:sld>  
    <p:cSld> … </p:cSld>  
    <p:clrMapOvr> … </p:clrMapOvr>  
    <p:transition> … </p:transition>  
    <p:timing> … </p:timing>  
</p:sld>

Animation consists of several behaviors, the most basic of which is the Animate behavior, represented by the <anim/> element. The ISO/IEC 29500 specification describes the Open XML PresentationML <anim/> element used to represent basic animation behavior in a PresentationML document as follows:

This element is a generic animation element that requires little or no semantic understanding of the attribute being animated. It can animate text within a shape or even the shape itself.[Example: Consider trying to emphasize text within a shape by changing the size of its font by 150%. The <anim/> element should be used as follows:

<p:anim to="1.5" calcmode="lin" valueType="num">  
    <p:cBhvr override="childStyle">  
        <p:cTn id="1" dur="2000" fill="hold">  
        <p:tgtEl>  
            <p:spTgt spid="1">  
                <p:txEl>  
                    <p:charRg st="1" end="4">  
                </p:txEl>  
            </p:spTgt>  
        </p:tgtEl>  
        <p:attrNameLst>  
            <p:attrName>style.fontSize</p:attrName>  
        </p:attrNameLst>  
    </p:cBhvr>  
</p:anim>

In der folgenden Tabelle sind die untergeordneten Elemente des Elements aufgeführt, die <anim/> beim Arbeiten mit Animationen verwendet werden, und die Open XML SDK-Klassen, die ihnen entsprechen.

PresentationML-Element Open XML SDK-Klasse
<cBhvr/> CommonBehavior
<tavLst/> TimeAnimateValueList

The following table from the ISO/IEC 29500 specification describes the attributes of the <anim/> element.

Attribute Beschreibung
bis Dieses Attribut gibt einen relativen Offsetwert für die Animation in Bezug auf ihre Position vor dem Beginn der Animation an. Die möglichen Werte für dieses Attribut werden durch den Zeichenfolgendatentyp des W3C-XML-Schemas definiert.
calcmode Dieses Attribut gibt den Interpolationsmodus für die Animation an. Die möglichen Werte für dieses Attribut werden durch den ST_TLAnimateBehaviorCalcMode einfachen Typ (§19.7.20) definiert.
von Dieses Attribut gibt den Startwert der Animation an. Die möglichen Werte für dieses Attribut werden durch den Zeichenfolgendatentyp des W3C-XML-Schemas definiert.
in Dieses Attribut gibt den Endwert für die Animation als Prozentsatz an. Die möglichen Werte für dieses Attribut werden durch den Zeichenfolgendatentyp des W3C-XML-Schemas definiert.
valueType Dieses Attribut gibt den Typ des Eigenschaftswerts an. Die möglichen Werte für dieses Attribut werden durch den ST_TLAnimateBehaviorValueType einfachen Typ (§19.7.21) definiert.

Open XML SDK Animate-Klasse

Die OXML SDK-Klasse Animate stellt das Element dar, das <anim/> im Open XML-Dateiformatschema für PresentationML-Dokumente definiert ist. Verwenden Sie die Animate -Klasse, um einzelne <anim/> Elemente in einem PresentationML-Dokument zu bearbeiten.

Klassen, die untergeordnete Elemente des <anim/> Elements darstellen und daher häufig der Animate Klasse zugeordnet sind, werden in der folgenden Liste angezeigt.

CommonBehavior-Klasse

Die CommonBehavior -Klasse entspricht dem <cBhvr/> -Element. Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 führen das <cBhvr/>Element ein:

Dieses Element beschreibt die am häufigsten auftretenden Verhalten von Animationen.

Erwägen Sie, text in einer Form hervorzuheben, indem Sie die Schriftgröße ändern. The <anim/> element should be used as follows:

<p:anim to="1.5" calcmode="lin" valueType="num">  
    <p:cBhvr override="childStyle">  
        <p:cTn id="6" dur="2000" fill="hold">  
        <p:tgtEl>  
            <p:spTgt spid="3">  
                <p:txEl>  
                   <p:charRg st="4294967295" end="4294967295"/>  
                </p:txEl>  
           </p:spTgt>  
        </p:tgtEl>  
        <p:attrNameLst>  
            <p:attrName>style.fontSize</p:attrName>  
        </p:attrNameLst>  
    </p:cBhvr>  
</p:anim>

TimeAnimateValueList-Klasse

Die TimeAnimateValueList -Klasse entspricht dem <tavLst/> -Element. Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 führen das <tavLst/> Element ein:

Dieses Element gibt eine Liste der zeitlich animierten Wertelemente an.

Beispiel: Betrachten Sie eine Form mit einer "Fly-In"-Animation. The <tav/> element should be used as follows:

<p:anim calcmode="lin" valueType="num">  
    <p:cBhvr additive="base"> … </p:cBhvr>  
    <p:tavLst>  
        <p:tav tm="0">  
            <p:val>  
                <p:strVal val="1+#ppt_h/2"/>  
            </p:val>  
        </p:tav>  
        <p:tav tm="100000">  
            <p:val>  
                <p:strVal val="#ppt_y"/>  
            </p:val>  
        </p:tav>  
    </p:tavLst>  
</p:anim>

Arbeiten mit der Animate-Klasse

Die Animate -Klasse, die das <anim/> -Element darstellt, ist daher auch anderen Klassen zugeordnet, die die untergeordneten Elemente des <anim/> Elements darstellen, einschließlich der CommonBehavior -Klasse, die allgemeine Animationsverhalten beschreibt, und der TimeAnimateValueList -Klasse, die eine Liste von zeitanimierten Wertelementen angibt, wie im vorherigen XML-Code gezeigt. Andere Klassen, die der Animate Klasse zugeordnet sind, sind die Timing -Klasse, die Zeitsteuerungsinformationen für alle Animationen auf der Folie angibt, und die TargetElement -Klasse, die die untergeordneten Zielelemente angibt, auf die die Animationseffekte angewendet werden.

Siehe auch

Informationen zum Open XML SDK für OfficeVorgehensweise: Erstellen einer Präsentation durch Angeben eines DateinamensVorgehensweise: Einfügen einer neuen Folie in eine PräsentationVorgehensweise: Löschen einer Folie aus einer PräsentationVorgehensweise: Anwenden eines Designs auf eine Präsentation