在 beamer 中按时间方式显示一系列图像

在 beamer 中按时间方式显示一系列图像

我想在 Beamer 中按时间顺序显示一系列图像,即我想将图像从小尺寸放大到大尺寸。以下是我尝试的代码,编译时出现一些错误。

\documentclass{beamer}

\usetheme{Copenhagen}
\usecolortheme{whale}
\useinnertheme{rounded}

\usepackage{tikz}
\usepackage{calc}
\usepackage{forloop}

\begin{document}

\newcounter{k}
\forloop{k}{1}{\value{k} < 11}{
\begin{frame}
\transduration{0.1}
\includegraphics[scale=\value{0.01\arabic{k}}]{images/my_image.pdf}
\end{frame}
}

\end{document}

答案1

你可以做这样的事情,使用 TikZ\foreach和覆盖规范\includegraphics

\documentclass{beamer}
\usetheme{Copenhagen}
\usecolortheme{whale}
\useinnertheme{rounded}
\usepackage{tikz}

\begin{document}

\begin{frame}
\centering
\transduration{0.1}
\foreach \k [evaluate=\k as \kscale using \k/100] in {1,2,...,10}
  {\includegraphics<\k>[scale=\kscale]{ctanlion}}

\end{frame}

\end{document}

在此处输入图片描述

CTAN 狮子绘画由 Duane Bibby 绘制。

答案2

使用\transduration需要 Adob​​e Reader 才能显示。因此,也可以使用animate包。动画嵌入在最终 PDF 的单个物理页面中:

\documentclass{beamer}
\usetheme{Copenhagen}
\usecolortheme{whale}
\useinnertheme{rounded}
\usepackage{animate}

\newsavebox\imgbox
\sbox\imgbox{\includegraphics[scale=0.5]{ctanlion}}

\begin{document}

\begin{frame}
\begin{center}
\begin{animateinline}[loop,autoplay]{10} %10 frames per s
\multiframe{10}{rScale=0.1+0.1}{
  \hbox to \wd\imgbox{
    \hss  %\hss, \vss -->stretchable space for centering
    \vbox to \ht\imgbox{\vss\scalebox{\rScale}{\usebox\imgbox}\vss}
    \hss
  }
}
\end{animateinline}
\end{center}
\end{frame}

\end{document}

相关内容