评论

评论

我有一张大图像,想在演示文稿中展示。图表上有四个面板。我想在每张幻灯片中显示每个面板。我们如何每次只显示图像的特定部分?

例如我有一张这样的图表

在此处输入图片描述

我怎样才能将每个面板全屏显示?

答案1

评论

\includegraphics当使用来自包(由 beamer 预加载)的图像时garphicx,您可以指定选项cliptrim,其中trim需要边框的附加参数。与clip修剪边框一起被切断。省略时,clip只有边框会移动(即边界框会发生变化)。

参数trim

\includegraphics[clip,trim = left bottom right top]{...}

单位为bp(大点为1/72英寸)。

执行

Image111.png是来自您的链接的文件,放在同一目录中。

\documentclass{beamer}
\begin{document}

\begin{frame}{Upper left}
    \centering
    \includegraphics[clip,trim=0 90 120 0]{Image111}
\end{frame}

\begin{frame}{Lower left}
    \centering
    \includegraphics[clip,trim=0 0 125 90]{Image111}
\end{frame}

\begin{frame}{Upper right}
    \centering
    \includegraphics[clip,trim=125 90 0 0]{Image111}
\end{frame}

\begin{frame}{Lower right}
    \centering
    \includegraphics[clip,trim=125 0 0 90]{Image111}
\end{frame}

\end{document}

输出(第一张幻灯片)

在此处输入图片描述

答案2

不需要手动指定trim参数的 TikZ 解决方案。

在此处输入图片描述

\documentclass{beamer}

\usepackage{tikz}

\begin{document}

\newcommand\scale{2}

\newcommand\clippic[1]{
  \begin{tikzpicture}[inner sep=0]
    % extract dimensions of image
    \node{\phantom{\includegraphics[scale=\scale]{image111}}};
    \coordinate(nw)at(current bounding box.north west);
    \coordinate(se)at(current bounding box.south east);
    \coordinate(ne)at(current bounding box.north east);
    \coordinate(sw)at(current bounding box.south west);
    \coordinate(cent)at(current bounding box.center);

    % insert specific panel of image
    \pgfresetboundingbox
    \clip[use as bounding box](#1)rectangle(cent);
    \node{\includegraphics[scale=\scale]{image111}};
  \end{tikzpicture}
}

\newcommand\makeframe[2]{
  \begin{frame}{#1}

    \centering
    \clippic{#2}

  \end{frame}
}

%%%%%%%%%%%

\makeframe{Top Left}{nw}
\makeframe{Top Right}{ne}
\makeframe{Bottom Left}{sw}
\makeframe{Bottom Right}{se}

\end{document}

您也可以调整的参数\scale{}来实现缩放效果。

相关内容