在 beamer 中是否有办法实现某种动态图片,当鼠标移动到图片上或者单击按钮时,图片会发生变化?
答案1
这是一个根据 PDF 规范使用小部件注释(按钮)的简单解决方案。它根据当前鼠标位置及其按钮状态(移开、滚动、按下)显示不同的图片。
\documentclass{article}
\usepackage{mwe}
\newsavebox\imga
\newsavebox\imgb
\newsavebox\imgc
\sbox\imga{\includegraphics{example-image-a}}
\sbox\imgb{\includegraphics{example-image-b}}
\sbox\imgc{\includegraphics{example-image-c}}
\edef\imgwd{\the\wd\imga}
\edef\imght{\the\ht\imga}
\immediate\pdfxform\imga
\edef\normalappearance{\the\pdflastxform\space 0 R}
\immediate\pdfxform\imgb
\edef\overappearance{\the\pdflastxform\space 0 R}
\immediate\pdfxform\imgc
\edef\downappearance{\the\pdflastxform\space 0 R}
\begin{document}
\hbox to \imgwd{\vbox to \imght{\vss%
\pdfannot width \imgwd height \imght depth 0pt {
/Subtype/Widget
/F 4
/FT/Btn/Ff 65536
/T (my dynamic image) % Widget name; must be unique
/H/P
/AP <<
/N \normalappearance
/R \overappearance
/D \downappearance
>>
}%
}\hss}
\end{document}
如果有多个 Widget 注释,则条目指定的 Widget 名称/T (...)
必须是唯一的。