图片和 animateinline

图片和 animateinline

我想制作一个动画(由三张图片 pic-0.jpg、pic-1.jpg、pic-2.jpg 组成),并在动画顶部添加其他元素。我做错了什么?我该怎么做才正确?

\documentclass[xcolor={dvipsnames,svgnames,table},11pt]{beamer}
\usepackage{animate}
\begin{document}
\begin{frame}

\only<1>{Text}
\only<2> 
{\begin{animateinline}[autoplay,loop]{6}
   \multiframe{3}{i=0+1}{ 
   \begin{figure}[h!]
   \centering
   \setlength{\unitlength}{0.1\textwidth}
   \begin{picture}(0,0)
   \put(-6,-3){\includegraphics[height=0.8\columnwidth]{pic-\i} }
   \put(4.5,-2){$x$}
   \end{picture}
   \end{figure} }
 \end{animateinline}      }  

\end{frame}
\end{document}

答案1

  1. \begin{picture}(0,0) ... \end{picture}生成一个零尺寸的盒子,但animate需要非零尺寸的盒子才能生成动画帧。

    TikZ 更适合注释外部图形文件。有专门基于 TikZ 的软件包用于图像注释,例如callouts在 CTAN 和非 CTAN 上onimage,引入↗这里。我更喜欢后者。可以下载为onimage.dtx↗这里。 跑步pdflatex两次即可获得onimage.sty和文档onimage.pdf


  1. figure环境应该移出animateinline环境。

\documentclass{beamer}
\usepackage{animate}
\usepackage{onimage}

\begin{document}

\begin{frame}{Annotated animation}
  \only<1>{Text}
  \only<2>{% 
    \begin{figure}\centering
    \begin{animateinline}[autoplay,loop]{1}
      \begin{tikzonimage}[width=0.6\columnwidth]{example-image-a}[tsx/show help lines]
        \draw (0.5,0.5) [<-]-- (0.3,0.4) node [anchor=east] {centre};
      \end{tikzonimage}
    \newframe
      \begin{tikzonimage}[width=0.6\columnwidth]{example-image-b}[tsx/show help lines]
        \node [anchor=south west] at (0,0) {lower left};
      \end{tikzonimage}
    \newframe
      \begin{tikzonimage}[width=0.6\columnwidth]{example-image-c}[tsx/show help lines]
        \node [anchor=north east] at (1,1) {upper right};
      \end{tikzonimage}
    %\newframe  
    %\multiframe{3}{i=0+1}{
    %  \begin{tikzonimage}[width=0.6\columnwidth]{pic-\i}[tsx/show help lines]
    %    ... 
    %  \end{tikzonimage}
    %}
    \end{animateinline}%
    \caption{annotated animation}
    \end{figure}
  }
\end{frame}
\end{document}

相关内容