Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico discute o Open XML SDK para a classe Office Animate e como ele se relaciona com o esquema PresentationML do Open XML File Format. 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 ISO/IEC 29500
A seção Animation da estrutura PresentationML armazena o movimento e as informações relacionadas de objetos. Esse esquema é vagamente baseado na sintaxe e nos conceitos da SMIL (Synchronized Multimedia Integration Language), uma recomendação do W3C para descrever apresentações multimídia usando XML. O esquema descreve todas as animações, efeitos que residem em um slide e também a animação que ocorre ao passar de slide para slide (transição de slide). As animações em um slide são inerentemente baseadas no tempo e consistem em efeitos de animação em um objeto ou texto. No entanto, as transições de slide não seguem esse conceito e sempre aparecem antes de qualquer animação em um slide. Todos os elementos descritos neste esquema estão contidos no arquivo XML do slide. Mais especificamente, eles estão no <transition/> e no elemento, <timing/> 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, o mais básico dos quais é o comportamento Animar, representado pelo <anim/> elemento. A ISO /IEC 29500 descreve o elemento Open XML PresentationML <anim/> usado para representar o comportamento básico de animação em um documento PresentationML da seguinte maneira:
Esse elemento é um elemento de animação genérico que requer pouca ou nenhuma compreensão semântica do atributo que está sendo animado. Ele pode animar o texto dentro de uma forma ou até mesmo a própria forma. [Exemplo: considere tentar enfatizar o texto dentro de uma forma alterando o tamanho de sua fonte em 150%. O <anim/> elemento deve ser usado da seguinte maneira:
<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 a seguir lista os elementos filho do <anim/> elemento usado ao trabalhar com animação e as classes Open XML SDK que correspondem a eles.
| Elemento PresentationML | Classe Open XML SDK |
|---|---|
<cBhvr/> |
CommonBehavior |
<tavLst/> |
TimeAnimateValueList |
A tabela a seguir da especificação ISO/IEC 29500 descreve os atributos do <anim/> elemento.
| Atributos | Description |
|---|---|
| por | Esse atributo especifica um valor de deslocamento relativo para a animação em relação à sua posição antes do início da animação. Os valores possíveis para esse atributo são definidos pelo tipo de dados de cadeia de caracteres do esquema XML do W3C. |
| calcmode | Esse atributo especifica o modo de interpolação para a animação. Os valores possíveis para esse atributo são definidos pelo tipo ST_TLAnimateBehaviorCalcMode simples (§19.7.20). |
| from | Esse atributo especifica o valor inicial da animação. Os valores possíveis para esse atributo são definidos pelo tipo de dados de cadeia de caracteres do esquema XML do W3C. |
| para | Esse atributo especifica o valor final da animação como uma porcentagem. Os valores possíveis para esse atributo são definidos pelo tipo de dados de cadeia de caracteres do esquema XML do W3C. |
| valueType | Esse atributo especifica o tipo de valor da propriedade. Os valores possíveis para esse atributo são definidos pelo tipo ST_TLAnimateBehaviorValueType simples (§19.7.21). |
Open XML SDK Classe Animate
A classe OXML SDK Animate representa o <anim/> elemento definido no esquema Open XML File Format para documentos PresentationML. Use a Animate classe para manipular elementos individuais <anim/> em um documento PresentationML.
As classes que representam elementos filho do <anim/> elemento e que, portanto, são comumente associados à Animate classe são mostradas na lista a seguir.
Classe CommonBehavior
A CommonBehavior classe corresponde ao <cBhvr/> elemento. As seguintes informações da especificação ISO/IEC 29500 introduzem o <cBhvr/>elemento:
Esse elemento descreve os comportamentos comuns de animações.
Tente enfatizar o texto dentro de uma forma alterando o tamanho da fonte. O <anim/> elemento deve ser usado da seguinte maneira:
<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:
Esse elemento especifica uma lista de elementos de valor animados no tempo.
Exemplo: considere uma forma com uma animação "fly-in". O <tav/> elemento deve ser usado da seguinte maneira:
<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>
Trabalho com a classe Animate
A Animate classe, que representa o <anim/> elemento, portanto, também está associada a outras classes que representam os elementos filho do elemento, incluindo a CommonBehavior classe, que descreve comportamentos comuns de <anim/> animação, e a TimeAnimateValueList classe, que especifica uma lista de elementos de valor animados por tempo, conforme mostrado no código XML anterior. Outras classes associadas à Animate classe são a classe, que especifica informações Timing de tempo para todas as animações no slide, e a TargetElement classe, que especifica os elementos filho de destino aos quais os efeitos de animação são aplicados.
Confira também
Sobre o Open XML SDK para OfficeComo criar uma apresentação fornecendo um nome de arquivoComo inserir um novo slide em uma apresentaçãoComo excluir um slide de uma apresentaçãoTutorial: Aplicar um tema a uma apresentação