我没有在任何地方找到这个问题,因此也没有答案。
我有一个 Beamer 演示文稿,我使用 \usebackgroundtemplate 来放置背景图像。现在,在某些幻灯片上,我希望图像留下的部分使用白色以外的背景颜色。我尝试了 \setbeamercolor 的几个位置(框架内/外、与框架成组、包含在花括号中等),但似乎不起作用。在我看来,\usebackgroundtemplate 覆盖了命令 \setbeamercolor。
这是一个简单的例子:
\documentclass[12pt,a4paper,ucs,t,german]{beamer}
\usetheme{Ophaniel}
\usepackage[utf8x]{inputenc}
\usepackage{graphicx}
\usepackage{eurosym}
\usepackage[export]{adjustbox}
\title{\textcolor{black}{Playa Turquesa - Dominikanische Republik}}
\setbeamercolor{background canvas}{bg=}
\setbeamertemplate{frametitle}[default][center]
\begin{document}
\usebackgroundtemplate{%
\parbox[c][\paperheight][c]{\paperwidth}{\centering{\includegraphics[scale=1.0]{../../../immobili/Repubblica-Dominicana/playaturquesa/Playa-Turquesa-Long-Logo-2.png}}}%
}
\begin{frame}
%\setbeamercolor{background}{bg=violet} % just a try, doesn't work
%\setbeamercolor{background canvas}{bg=violet} % this doesn't work either
\frametitle{\fcolorbox{black}{white}{Beispielpreise}}
Frame text here
\end{frame}
end{document}
该图像是具有透明背景的 .png,所以我认为它应该可以看到其背后的内容。
是否有捷径可寻?
编辑了问题,谢谢。
Ophaniel 是我自己的主题,我只是修改了另一个主题。所以,如果您没有它,我猜代码不太容易编译。我不确定那里是否有任何东西会干扰 \setbeamercolor{background} 的功能。我是否应该发布主题以便您能够编译它?
答案1
\documentclass[t]{beamer}
\setbeamerfont{frametitle}{size=\fontsize{24}{28},series=\bfseries}
\setbeamercolor{frametitle}{fg=black}
\setbeamercolor{bgcolor}{fg=black,bg=blue!20}
\pgfdeclareimage[width=\paperwidth]{mybackground}{back.pdf}
\setbeamertemplate{background canvas}{%
\begin{picture}(30,273)
\begin{beamercolorbox}[wd=1.1\paperwidth,ht=\paperheight]{bgcolor}
\end{beamercolorbox}
\put(-310,0){%
\pgfuseimage{mybackground}
}
\end{picture}
}
\begin{document}
\begin{frame}
test
\end{frame}
\setbeamercolor{bgcolor}{fg=black,bg=red!20}
\begin{frame}
test
\end{frame}
\end{document}
答案2
使用宏(例如 \opacity)有效:
\documentclass{beamer}
\usepackage{tikz}
\usepackage{mwe}
\usebackgroundtemplate{%
\tikz\node[opacity=\opacity,inner sep=0pt]%
{\includegraphics[height=\paperheight,width=\paperwidth]{example-image}};}
\begin{document}
\def\opacity{0.3}
\begin{frame}
first frame
\end{frame}
\def\opacity{1}
\begin{frame}
second frame
\end{frame}
\end{document}