投影仪中以整张幻灯片为中心且带有背景颜色的图像

投影仪中以整张幻灯片为中心且带有背景颜色的图像

当显示注释时,为投影仪幻灯片指定背景颜色和背景图像有点棘手。我尝试了三种方法,但没有一种能完美地工作(这个想法是为了避免全屏图像上方和下方出现白色边框)。

第一个解决方案的灵感来自于此回答

\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}

\begin{document}

{
\setbeamercolor{background canvas}{bg=red}
\setbeamertemplate{background canvas}{
  \parbox[c][\paperheight][c]{\paperwidth}{
    \centering\includegraphics[width=\paperwidth]{name}
  }
}
\begin{frame}[plain]
\end{frame}
}

\end{document}

但是设置背景颜色没有效果。我也尝试将图形包含在框架内,但图像不再居中:

\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}

\begin{document}

{
\setbeamercolor{background canvas}{bg=red}
\begin{frame}[plain]
\parbox[c][\paperheight][c]{\paperwidth}{
  \centering\includegraphics[width=\paperwidth]{name}
}
\end{frame}
}

\end{document}

我的最后一次测试基于此回答

\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}

\usepackage{tikz}
\usepackage{pgfpages}

\setbeameroption{show notes on second screen=right}\nofiles

\begin{document}

\begin{frame}[plain]
\end{frame}

{
\setbeamercolor{background canvas}{bg=red}
\begin{frame}[plain]
\begin{tikzpicture}[remember picture,overlay]
\node[at=(current page.center)] {
  \includegraphics[width=\paperwidth]{name}
};
\end{tikzpicture}
\note{Note}
\end{frame}
}

\end{document}

但显示笔记时图像定位不正确(即使使用nofiles 技巧)。

每个解决方案都有不同的问题。有什么可行的解决方案吗?

答案1

默认值background canvas定义为

\defbeamertemplate*{background canvas}{default}
{%
  \ifbeamercolorempty[bg]{background canvas}{}{\color{bg}\vrule width\paperwidth height\paperheight}%
}

因此它只是绘制一个用颜色填充整个框架的框。这就是为什么如果覆盖了background canvas默认颜色,更改背景画布颜色将不再有任何效果。background canvas

但是还有另一个简单称为的背景层,background它绘制在 之上background canvas。更改\setbeamertemplate{background canvas}\setbeamertemplate{background}第一个解决方案后即可。

\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}

\begin{document}

{
\setbeamercolor{background canvas}{bg=red}
\setbeamertemplate{background}{%
  \parbox[c][\paperheight][c]{\paperwidth}{%
    \centering\includegraphics[width=\paperwidth]{name}
  }
}
\begin{frame}[plain]
\end{frame}
}

\end{document}

第二种解决方案不起作用,因为每个投影仪框架都有一个text margin left(和text margin right),这会将图像向右移动,因为其宽度\paperwidth不再适合它。要解决此问题,可以使用\hspace负长度将其移回。在这种情况下,它是\hspace*{-1cm}

\PassOptionsToPackage{demo}{graphicx}
\documentclass{beamer}

\begin{document}

{
\setbeamercolor{background canvas}{bg=red}
\begin{frame}[plain]
\hspace*{-1cm}%
\parbox[c][\paperheight][c]{\paperwidth}{
  \centering\includegraphics[width=\paperwidth]{name}
}
\end{frame}
}

\end{document}

相关内容