Como trabalhar com animação
Este tópico aborda a classe Open XML SDK for Office Animate
e como se relaciona com o esquema Open XML File Format PresentationML. Para obter mais informações sobre a estrutura geral das partes e elementos que compõem um documento PresentationML, consulte Estrutura de um Documento PresentationML.
Animação em PresentationML
A especificação ISO/IEC 29500 descreve a secção Animação da arquitetura Open XML PresentationML da seguinte forma:
A secção Animação da arquitetura PresentationML armazena o movimento e as informações relacionadas dos objetos. Este esquema baseia-se vagamente na sintaxe e nos conceitos do SMIL (Synchronized Multimedia Integration Language), uma Recomendação W3C para descrever apresentações multimédia com XML. O esquema descreve todos os efeitos de animações que residem num diapositivo e também a animação que ocorre ao passar do diapositivo para o diapositivo (transição de diapositivo). As animações num diapositivo são inerentemente baseadas no tempo e consistem em efeitos de animação num objeto ou texto. No entanto, as transições de diapositivos não seguem este conceito e aparecem sempre antes de qualquer animação num diapositivo. Todos os elementos descritos neste esquema estão contidos no ficheiro XML do diapositivo. Mais especificamente, estão no e no <transition/>
<timing/>
elemento, conforme mostrado abaixo:
<p:sld>
<p:cSld> … </p:cSld>
<p:clrMapOvr> … </p:clrMapOvr>
<p:transition> … </p:transition>
<p:timing> … </p:timing>
</p:sld>
A animação consiste em vários comportamentos, sendo o mais básico o comportamento Animate, representado pelo <anim/>
elemento . A especificação ISO/IEC 29500 descreve o elemento Open XML PresentationML <anim/>
utilizado para representar o comportamento básico da animação num documento PresentationML da seguinte forma:
Este elemento é um elemento de animação genérico que requer pouca ou nenhuma compreensão semântica do atributo que está a ser animado. Pode animar texto dentro de uma forma ou até mesmo da própria forma. [Exemplo: considere tentar realçar o texto dentro de uma forma ao alterar o tamanho do tipo de letra em 150%. O <anim/>
elemento deve ser utilizado da seguinte 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>
A tabela seguinte lista os elementos subordinados do <anim/>
elemento utilizado ao trabalhar com animação e as classes open XML SDK que correspondem aos mesmos.
Elemento PresentationML | Abrir Classe SDK XML |
---|---|
<cBhvr/> |
CommonBehavior |
<tavLst/> |
TimeAnimateValueList |
A tabela seguinte da especificação ISO/IEC 29500 descreve os atributos do <anim/>
elemento.
Atributos | Description |
---|---|
por | Este atributo especifica um valor de desvio relativo para a animação relativamente à sua posição antes do início da animação. Os valores possíveis para este atributo são definidos pelo tipo de dados de cadeia de esquema W3C XML. |
calcmode | Este atributo especifica o modo de interpolação para a animação. Os valores possíveis para este atributo são definidos pelo ST_TLAnimateBehaviorCalcMode tipo simples (}19.7.20). |
from | Este atributo especifica o valor inicial da animação. Os valores possíveis para este atributo são definidos pelo tipo de dados de cadeia de esquema W3C XML. |
para | Este atributo especifica o valor final da animação como uma percentagem. Os valores possíveis para este atributo são definidos pelo tipo de dados de cadeia de esquema W3C XML. |
valueType | Este atributo especifica o tipo de valor de propriedade. Os valores possíveis para este atributo são definidos pelo ST_TLAnimateBehaviorValueType tipo simples (}19.7.21). |
Abrir Classe de Animação do SDK XML
A classe SDK Animate
OXML representa o <anim/>
elemento definido no esquema Open XML File Format para documentos PresentationML. Utilize a Animate
classe para manipular elementos individuais <anim/>
num documento PresentationML.
As classes que representam elementos subordinados do <anim/>
elemento e que, por conseguinte, estão frequentemente associadas à Animate
classe são apresentadas na lista seguinte.
Classe CommonBehavior
A CommonBehavior
classe corresponde ao <cBhvr/>
elemento . As seguintes informações da especificação ISO/IEC 29500 introduzem o <cBhvr/>
elemento:
Este elemento descreve os comportamentos comuns das animações.
Considere tentar realçar o texto dentro de uma forma ao alterar o tamanho do tipo de letra. O <anim/>
elemento deve ser utilizado da seguinte 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>
Classe TimeAnimateValueList
A TimeAnimateValueList
classe corresponde ao <tavLst/>
elemento . As seguintes informações da especificação ISO/IEC 29500 introduzem o <tavLst/>
elemento:
Este elemento especifica uma lista de elementos de valor animado de tempo.
Exemplo: considere uma forma com uma animação "fly-in". O <tav/>
elemento deve ser utilizado da seguinte 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>
Trabalhar com a Classe Animate
A Animate
classe, que representa o <anim/>
elemento, também está associada a outras classes que representam os elementos subordinados do <anim/>
elemento, incluindo a CommonBehavior
classe, que descreve comportamentos de animação comuns, e a TimeAnimateValueList
classe, que especifica uma lista de elementos de valor animados pelo tempo, conforme mostrado no código XML anterior. Outras classes associadas à classe são a Animate
Timing classe , que especifica as informações de temporização para todas as animações no diapositivo e a TargetElement classe , que especifica os elementos subordinados de destino aos quais os efeitos de animação são aplicados.
Confira também
Acerca do Open XML SDK for 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 (Como: Aplicar um tema a uma apresentação)