Trabajar con animaciones
En este tema se describe la clase Open XML SDK for Office Animate
y cómo se relaciona con el esquema PresentationML de formato de archivo Open XML. Para más información sobre la estructura general de los elementos que conforman un documento PresentationML, vea Estructura de un documento PresentationML.
Animación en PresentationML
La especificación ISO/IEC 29500 describe la sección de animación del marco PresentationML de Office Open XML de la siguiente forma:
La sección de animación del marco PresentationML almacena el movimiento y la información relacionada de los objetos. Este esquema se basa ligeramente en la sintaxis y los conceptos del lenguaje SMIL, una recomendación de W3C para describir presentaciones multimedia mediante XML. El esquema describe todos los efectos de animación que residen en una diapositiva y también la animación que se produce al pasar de una diapositiva a otra (transición de diapositivas). Las animaciones de una diapositiva están intrínsecamente basadas en el tiempo y constan de efectos de animación en un objeto o texto. Sin embargo, las transiciones de diapositivas no siguen este concepto y siempre aparecen antes que cualquier animación en una diapositiva. Todos los elementos descritos en este esquema se encuentran en el archivo XML de la diapositiva. En concreto, se encuentran en el elemento <transition/>
y <timing/>
tal como se muestra a continuación:
<p:sld>
<p:cSld> … </p:cSld>
<p:clrMapOvr> … </p:clrMapOvr>
<p:transition> … </p:transition>
<p:timing> … </p:timing>
</p:sld>
La animación consta de varios comportamientos, de los cuales el más básico es el comportamiento Animate, representado por el elemento <anim/>
. La especificación ISO/IEC 29500 describe el elemento <anim/>
de PresentationML de Office Open XML que se usa para representar el comportamiento básico de animación en un documento PresentationML de la siguiente forma:
Este elemento es un elemento de animación genérico que requiere poca o ninguna comprensión semántica del atributo que se está animando. Puede animar texto dentro de una forma o incluso la propia forma. [Ejemplo: considere la posibilidad de intentar enfatizar el texto dentro de una forma cambiando el tamaño de su fuente en un 150 %. El elemento <anim/>
se debe usar de la siguiente forma:
<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>
En la tabla siguiente se enumeran los elementos secundarios del <anim/>
elemento que se usan al trabajar con animaciones y las clases del SDK de Open XML que se corresponden con ellos.
Elemento de PresentationML | Open XML SDK (clase) |
---|---|
<cBhvr/> |
CommonBehavior |
<tavLst/> |
TimeAnimateValueList |
La siguiente tabla de la especificación ISO/IEC 29500 describe los atributos del elemento <anim/>
.
Atributos | Descripción |
---|---|
por | Este atributo especifica un valor de desplazamiento relativo para la animación con respecto a su posición antes del inicio de la animación. Los valores posibles para este atributo se definen mediante el tipo de datos de cadena de esquema XML W3C. |
calcmode | Este atributo especifica el modo de interpolación de la animación. Los valores posibles para este atributo se definen mediante el ST_TLAnimateBehaviorCalcMode tipo simple (§19.7.20). |
from | Este atributo especifica el valor inicial de la animación. Los valores posibles para este atributo se definen mediante el tipo de datos de cadena de esquema XML W3C. |
a | Este atributo especifica el valor final de la animación como porcentaje. Los valores posibles para este atributo se definen mediante el tipo de datos de cadena de esquema XML W3C. |
valueType | Este atributo especifica el tipo de valor de propiedad. Los valores posibles para este atributo se definen mediante el ST_TLAnimateBehaviorValueType tipo simple (§19.7.21). |
Clase Animate del SDK de Open XML
La clase DEL SDK Animate
de OXML representa el <anim/>
elemento definido en el esquema de formato de archivo Open XML para documentos PresentationML. Use la Animate
clase para manipular elementos individuales <anim/>
en un documento PresentationML.
Las clases que representan elementos secundarios del <anim/>
elemento y que, por lo tanto, se asocian normalmente a la Animate
clase se muestran en la lista siguiente.
Clase CommonBehavior
La CommonBehavior
clase corresponde al <cBhvr/>
elemento . La siguiente información de la especificación ISO/IEC 29500 presenta el <cBhvr/>
elemento :
Este elemento describe los comportamientos comunes de las animaciones.
Considere la posibilidad de intentar enfatizar el texto dentro de una forma cambiando el tamaño de su fuente. El elemento <anim/>
se debe usar de la siguiente forma:
<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>
Clase TimeAnimateValueList
La TimeAnimateValueList
clase corresponde al <tavLst/>
elemento . La siguiente información de la especificación ISO/IEC 29500 presenta el <tavLst/>
elemento :
Este elemento especifica una lista de elementos de valor animado de tiempo.
Ejemplo: considere la posibilidad de una forma con una animación "fly-in". El elemento <tav/>
se debe usar de la siguiente forma:
<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>
Trabajar con la clase Animate
Por Animate
lo tanto, la clase , que representa el <anim/>
elemento , también está asociada a otras clases que representan los elementos secundarios del <anim/>
elemento, incluida la CommonBehavior
clase , que describe comportamientos de animación comunes, y la TimeAnimateValueList
clase , que especifica una lista de elementos de valor animado por tiempo, como se muestra en el código XML anterior. Otras clases asociadas a la Animate
clase son la Timing clase , que especifica la información de tiempo de todas las animaciones de la diapositiva, y la TargetElement clase , que especifica los elementos secundarios de destino a los que se aplican los efectos de animación.
Recursos adicionales
Acerca del SDK de Open XML para OfficeHow to: Create a Presentation by Providing a File NameHow to: Insert a new slide into a presentationHow to: Delete a slide from a presentationHow to: Apply a theme to a presentation