![投影仪演示中的“动态”图片](https://linux22.com/image/258102/%E6%8A%95%E5%BD%B1%E4%BB%AA%E6%BC%94%E7%A4%BA%E4%B8%AD%E7%9A%84%E2%80%9C%E5%8A%A8%E6%80%81%E2%80%9D%E5%9B%BE%E7%89%87.png)
在 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 (...)
必须是唯一的。