我正在尝试使用 Beamer 制作动画。我通常会执行以下操作:
\begin{animateinline}{12}
\multiframe{11}{i=0+1}{%
\includegraphics[width=\textwidth]{image_\i}}
\end{animateinline}
这使我能够以一定的速度(每秒 11 帧)连接 12 张图像(分别称为 image_0、image_1、...、image_11)。
我的问题是:假设现在我想将这 12 张图像连接起来,使它们之间的时间不恒定。例如,image_0 出现在时间 t=0 时,image_1 出现在时间 t=2 秒时,等等。时间集是已知的。我该怎么做?这个包可以做到吗animate
?如果不行...我该用什么?
答案1
使用时间线文件。
帧速率是<1st>:<2nd>:<3rd field
时间线条目中的第二个字段 ( > )。它以每秒帧数为单位,因此等于 1/帧延迟(以秒为单位)。
由于我们在下面的例子中为第零帧指定了帧速率,12
因此给出的默认帧速率()\animategraphics
变得毫无意义。
第三个字段决定显示什么。
用于\animategraphics
制作外部图形文件动画更加合理。
\documentclass{article}
\usepackage{animate}
\usepackage{filecontents}
\begin{filecontents*}{mytmln.txt}
:0.2:0 % 1/0.2*1s=5s
:0.25:1 % 4s
:0.5:2 % 2s
:1:3 % 1s
:2:4 % 0.5s
:4:5 % 0.25s
:5:6 % 0.2s
:8:7 % 0.125s
:0.1:8 % 10s
::9 % 10s
::10 % 10s
::11 % 10s
\end{filecontents*}
\begin{document}
\noindent\animategraphics[timeline=mytmln.txt,width=\linewidth,loop]{12}{image_}{0}{11}%
\end{document}