Compartilhar via


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 AnimateTiming 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)