Работа с анимацией
В этом разделе рассматривается класс Open XML SDK для Office Animate
и его связь со схемой PresentationML формата файла Open XML. Дополнительные сведения об общей структуре частей и элементов, составляющих документ PresentationML, см. в статье Структура документа PresentationML.
Анимация в PresentationML
В спецификации ISO/IEC 29500 (Возможно, на английском языке) приведено описание раздела анимации в рамках структуры документа PresentationML в Open XML:
В разделе "Animation" структуры PresentationML хранятся сведения о перемещении и связанные данные об объектах. Эта схема основывается на синтаксисе и понятиях SMIL (Synchronized Multimedia Integration Language), рекомендациях консорциума W3C по описанию мультимедийных презентаций с использованием XML. В схеме дано описание всех эффектов анимации, которые представлены на слайде, а также анимации, сопровождающей переход от слайда к слайду (переход слайдов). Анимация на слайде применяется на основе времени и включает эффекты анимации на объекте или тексте. Переходы слайдов, однако, не зависят от этого правила, и их появление всегда предшествует отображению любой другой анимации на слайде. Все элементы, описываемые в этой схеме, содержатся в XML-файле слайда. Более конкретно они описаны в элементах <transition/>
и <timing/>
, как показано далее:
<p:sld>
<p:cSld> … </p:cSld>
<p:clrMapOvr> … </p:clrMapOvr>
<p:transition> … </p:transition>
<p:timing> … </p:timing>
</p:sld>
Анимация включает несколько типов поведения, наиболее распространенным из которых является тип поведения анимации, представленный элементом <anim/>
. В спецификации ISO/IEC 29500 (Возможно, на английском языке) приведено описание элемента Open XML PresentationML <anim/>
, используемого для представления основного типа поведения анимации в документе PresentationML:
Этот элемент является универсальным элементом анимации, который практически не требует семантического понимания анимируемого атрибута. Он может анимировать текст внутри фигуры или даже самой фигуры. [Пример. Попробуйте подчеркнуть текст в фигуре, изменив размер шрифта на 150 %. Элемент <anim/>
следует использовать следующим образом:
<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>
В следующей таблице перечислены дочерние элементы элемента, используемого <anim/>
при работе с анимацией, и соответствующие им классы пакета SDK Open XML.
Элемент PresentationML | Класс пакета SDK Open XML |
---|---|
<cBhvr/> |
CommonBehavior |
<tavLst/> |
TimeAnimateValueList |
В следующей таблице из спецификации ISO/IEC 29500 (Возможно, на английском языке) представлено описание атрибутов элемента <anim/>
.
Атрибуты | Описание |
---|---|
около | Этот атрибут задает относительное значение смещения для анимации по отношению к ее позиции до начала анимации. Возможные значения для этого атрибута определяются типом данных строки схемы XML W3C. |
calcmode | Этот атрибут задает режим интерполяции для анимации. Возможные значения для этого атрибута определяются простым типом ST_TLAnimateBehaviorCalcMode (§19.7.20). |
from | Этот атрибут задает начальное значение анимации. Возможные значения для этого атрибута определяются типом данных строки схемы XML W3C. |
на | Этот атрибут задает конечное значение для анимации в процентах. Возможные значения для этого атрибута определяются типом данных строки схемы XML W3C. |
valueType | Этот атрибут указывает тип значения свойства. Возможные значения для этого атрибута определяются ST_TLAnimateBehaviorValueType простого типа (§19.7.21). |
Open XML SDK Animate Class
Класс пакета SDK Animate
OXML представляет элемент, определенный <anim/>
в схеме формата файлов Open XML для документов PresentationML. Используйте класс для Animate
управления отдельными <anim/>
элементами в документе PresentationML.
Классы, представляющие дочерние <anim/>
элементы элемента и поэтому обычно связанные с классом Animate
, показаны в следующем списке.
Класс CommonBehavior
Класс CommonBehavior
соответствует элементу <cBhvr/>
. Этот элемент представлен <cBhvr/>
в следующей информации из спецификации ISO/IEC 29500:
В этом элементе представлено описание стандартных типов поведения анимации.
Попробуйте подчеркнуть текст в фигуре, изменив размер шрифта. Элемент <anim/>
следует использовать следующим образом:
<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
Класс TimeAnimateValueList
соответствует элементу <tavLst/>
. Этот элемент представлен <tavLst/>
в следующей информации из спецификации ISO/IEC 29500:
Этот элемент определяет список элементов значения анимации по времени.
Пример. Рассмотрим фигуру с анимацией "облета". Элемент <tav/>
следует использовать следующим образом:
<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>
Работа с классом Animate
Таким Animate
образом, класс, представляющий <anim/>
элемент, также связан с другими классами, представляющими дочерние элементы <anim/>
элемента, включая CommonBehavior
класс , описывающий распространенные варианты анимации, и TimeAnimateValueList
класс, указывающий список элементов значения, анимированных по времени, как показано в предыдущем XML-коде. Другими классами, связанными с классом Animate
Timing , являются класс , который задает сведения о времени для всех анимаций на слайде TargetElement , и класс , который указывает целевые дочерние элементы, к которым применяются эффекты анимации.
См. также
Сведения о пакете SDK Open XML для OfficeПрактическое руководство. Создание презентации путем предоставления имени файлаПрактическое руководство. Вставка нового слайда впрезентацию Практическое руководство. Удаление слайда из презентацииПрактическое руководство. Применение темы к презентации