You can use \only
:
\documentclass{beamer}
\setbeamercovered{dynamic}
\begin{document}
\begin{frame}
\centering
\only<1->{\includegraphics[width=4cm]{ctanlion}}
\only<2>{\includegraphics[width=4cm]{ctanlion}}\par
\end{frame}
\end{document}
To preserve the relative position in slide one, you can use overlayarea
:
\documentclass{beamer}
\setbeamercovered{dynamic}
\begin{document}
\begin{frame}
\vskip10pt
\begin{overlayarea}{\textwidth}{.45\textheight}
\centering
\only<1-|handout:0>{\includegraphics[width=4cm]{ctanlion1}}
\end{overlayarea}%
\begin{overlayarea}{\textwidth}{.45\textheight}
\centering
\only<2>{\includegraphics[width=4cm]{ctanlion2}}
\end{overlayarea}
\end{frame}
\end{document}
and, since \includegraphics
is overlay-aware, you can also say
\documentclass{beamer}
\setbeamercovered{dynamic}
\begin{document}
\begin{frame}
\vskip10pt
\begin{overlayarea}{\textwidth}{.45\textheight}
\centering
\includegraphics<1-|handout:0>[width=4cm]{ctanlion}
\end{overlayarea}%
\begin{overlayarea}{\textwidth}{.45\textheight}
\centering
\includegraphics<2>[width=4cm]{ctanlion}
\end{overlayarea}
\end{frame}
\end{document}
or, even simpler, \visible
, as suggested by silvado; here's a complete version of the code:
\documentclass{beamer}
\setbeamercovered{dynamic}
\begin{document}
\begin{frame}
\centering
\visible<1-|handout:0>{\includegraphics[width=4cm]{ctanlion1}\\}
\visible<2>{\includegraphics[width=4cm]{ctanlion2}}\par
\end{frame}
\end{document}
\par
or a blank line after the second \includegraphics).dynamic
option is the problem?dynamic
was the key here!