анимировать элементы управления как часть изображения

анимировать элементы управления как часть изображения

Я полагаю, это вопрос из разряда «приятно услышать»:

Я использую animateпакет для показа последовательности скриншотов диалогов программного обеспечения. Проходя через серию, я добавил эту полезную, но уродливую на вид панель управления (да, я пробовал разные цвета fg/bg... это не улучшило ситуацию). Скриншоты — это обычные <BACK/NEXT>диалоги.

Можно ли реализовать команду анимации ВПЕРЕД/НАЗАД в этих областях NEXT>и <BACKкнопках на снимках экрана, чтобы — как и в реальном программном обеспечении — читателю приходилось нажимать «ДАЛЕЕ» на снимке экрана, чтобы получить следующую картинку, а нажатие «НАЗАД» показывало предыдущий снимок экрана?

Надеюсь, я смог выразить это понятно...

решение1

Это хороший пример использования JavaScript API animateи \mediabuttonкоманды media9.

Пользователь Caramdir's отличныйнаизображениеПакет используется для размещения кнопок на анимации. Однако нам нужно пропатчить, 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/example-image-c.png ./example-image-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}

Связанный контент