将控件作为图像的一部分进行动画处理

将控件作为图像的一部分进行动画处理

我想,这是一个“最好有”的问题:

我正在使用该animate软件包显示一系列软件对话框截图。在完成该系列的过程中,我添加了那个有用但外观丑陋的控制面板(是的,我尝试了不同的 fg/bg 颜色……但效果并不好)。这些截图是常见的<BACK/NEXT>对话框。

是否有可能在这些动画命令中获取前进/NEXT>后退<BACK按钮区域中获取动画命令“前进/后退”,以便 - 类似于真实软件 - 读者必须单击屏幕截图中的“下一步”才能获得下一张图片,单击“后退”显示上一个屏幕截图?

希望我能表达得通俗易懂...

答案1

这是使用 JavaScript APIanimate\mediabutton命令的一个很好的例子media9一个很好的例子。

用户 Caramdir 的优秀图像包用于将按钮放置在动画上。但是,我们必须修补onimage.sty才能不使用\includegraphics

为了编译下面的代码,请将示例图像文件从包复制mwe到当前目录中,如下所示

cp $TEXMF/tex/latex/mwe/example-image-a.png ./example-image-1.png
cp $TEXMF/tex/latex/mwe/example-image-b.png ./example-image-2.png
cp $TEXMF/tex/latex/mwe/示例图像-c.png ./示例图像-3.png

因为我们需要编号的图像\animategraphics

在此处输入图片描述

\documentclass{beamer}

\usepackage{animate}
\usepackage{media9} % buttons via \mediabutton

%get it from http://bazaar.launchpad.net/~tex-sx/tex-sx/development/view/head:/onimage.dtx
\usepackage{onimage}

%patch onimage.sty not to use \includegraphics
\makeatletter
\def\tikzonimage@opt[#1]#2{%
    \begin{tikzpicture}
        %\node[inner sep=0] (image) {\includegraphics[#1]{#2}};
        \node[inner sep=0] (image) {#2};
        \begin{tikzonnode}{image}%
}
\makeatother

\begin{document}
\begin{frame}

  \begin{tikzonimage}{%
    \animategraphics[method=ocg,label=myGUI,step,nomouse,width=0.8\linewidth]{1}{example-image-}{1}{3}
  }[tsx/show help lines]
    \node at (0.8 , 0.8) [anchor=south east, inner sep=0pt, outer sep=0pt] {
      \mediabutton[
        jsaction={try{anim.myGUI.frameNum--}catch(e){}}
      ]{\fbox{\small\strut back}}};
    \node at (0.8 , 0.8) [anchor=south west, inner sep=0pt, outer sep=0pt] {
      \mediabutton[
        jsaction={try{anim.myGUI.frameNum++}catch(e){}}
      ]{\fbox{\small\strut next}}};
  \end{tikzonimage}  

\end{frame}
\end{document}

相关内容