是否可以根据背景颜色改变文本的颜色?

是否可以根据背景颜色改变文本的颜色?

我想根据背景颜色自动改变文本的颜色。

我已经tikz创建了背景(形状只是一个例子)但是欢迎使用任何其他方式。

\documentclass{beamer}
\usepackage{tikz}
\usetheme{Madrid}
\usebackgroundtemplate{%
    \begin{tikzpicture}
        \coordinate (A) at (0,0);
        \coordinate (B) at (0,\paperheight);
        \coordinate (C) at (\paperwidth,0);
        \fill[blue] (A) -- (C) -- (B) -- cycle;
    \end{tikzpicture}
}
\begin{document}
\begin{frame}
    \frametitle{Example}
    Could this text be automatically white on blue and blue on white?
\end{frame}
\end{document}

在此处输入图片描述

答案1

这个想法很简单:使用一些非平凡的混合模式。

你可能想要

  • 调整颜色,使“蓝色”减去“黄色”等于“白色”
  • 修改背景,使右下角看起来正确。

我使用 Mac 上的预览和 Adob​​e Reader 测试该文档。


\documentclass{beamer}
\usepackage{tikz}
\usetheme{Madrid}
\usebackgroundtemplate{
    \begin{tikzpicture}
        \coordinate (A) at (0,0);
        \coordinate (B) at (0,\paperheight);
        \coordinate (C) at (\paperwidth,0);;
        \coordinate (D) at (\paperwidth,\paperheight);
        \fill[blue] (A) -- (C) -- (B) -- cycle;
        \fill[white](D) -- (C) -- (B) -- cycle;
    \end{tikzpicture}
}
\begin{document}

\begin{frame}
    \frametitle{Example}
    \pgfsetblendmode{difference}
    \color{yellow}Could this text be automatically white on blue and blue on white?
\end{frame}

\end{document}

编辑:

正如@Werner 所建议的,如果您不知道如何修复脚线,请添加以下行:

\addtobeamertemplate{footline}{\pgfsetblendmode{normal}}{}

如果您发现它们出乎意料,请更改footline为其他内容。

另一方面,如果你认为这很棒,

\addtobeamertemplate{navigation symbols}{\pgfsetblendmode{difference}}{}

相关内容