使用 Javascript 更改圖片

使用 Javascript 更改圖片

幾個月以來,我找不到一種透過按下一個欄位中的按鈕來更改圖片的方法。文字就像:

\documentclass[a4paper]{article}
\usepackage{eforms}
\begin{insDLJS}[test]{test}{JavaScript}
function MakeArray(2){
    this.length=n
    return this
};
var text=new MakeArray(2);
text[0]='text111';
text[1]='text222';
this.getField("field").value=text[0];
\end{insDLJS}
%
\begin{document}
\textField[\BG{}\BC{}]{field}{80mm}{10mm}\\
\pushButton[\A{\JS{this.getField("field").value=text[1];}}]{myButton}{30mm}{15mm}\\
\pushButton[\A{\JS{this.getField("field").value=text[0];}}]{myButton}{30mm}{15mm}
\end{document}

但現在我想對圖片做同樣的事情,就像透過按按鈕改變圖片一樣。有沒有類似的東西: \pictureField[]{}{} 或類似的東西?

編輯
感謝您的回答,但問題是 media9 包。我已經用最實際的 l3kernel (2014/...) 完全更新了 lubuntu tex-live ,所以其他 l3 軟體包也是如此。它仍然會產生不同的錯誤,主要是:l3kernel 太舊,以及其他一些有趣的錯誤。發現沒有辦法讓 media9 運作。所以我很抱歉再次詢問:有沒有辦法可以在你的例子中做到這一點,但是沒有媒體9包裹?

答案1

在此輸入影像描述

\documentclass{article}
\usepackage{animate,media9,graphicx,mwe}

\begin{document}

\begin{center}
\begin{animateinline}[nomouse,step,label=picfield]{0}
  \includegraphics{example-image-a}
\newframe
  \includegraphics{example-image-b}
\end{animateinline}

\mediabutton[jsaction={anim.picfield.frameNum=0;}]{\fbox{show (a)}}
\mediabutton[jsaction={anim.picfield.frameNum=1;}]{\fbox{show (b)}}
\end{center}

\end{document}

使用\PushButton來自hyperref

\documentclass{article}
\usepackage{animate,graphicx,mwe}
\usepackage{hyperref}

\begin{document}
\begin{Form}

\begin{center}
\begin{animateinline}[nomouse,step,label=picfield]{0}
  \includegraphics{example-image-a}
\newframe
  \includegraphics{example-image-b}
\end{animateinline}

\PushButton[onclick={anim.picfield.frameNum=0;}]{\strut show (a)}
\PushButton[onclick={anim.picfield.frameNum=1;}]{\strut show (b)}
\end{center}

\end{Form}
\end{document}

相關內容