Tikz 和 beamer 使用不透明度进行叠加

Tikz 和 beamer 使用不透明度进行叠加

我使用以下代码通过 beamer 创建覆盖层

 \tikzset{
    invisible/.style={opacity=0},
    visible on/.style={alt={#1{}{invisible}}},
    alt/.code args={<#1>#2#3}{%
      \alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}} % \pgfkeysalso doesn't change the path
    },
  }

它工作得很好,除非需要在要覆盖的路径中使用不透明度。

\scoped[visible on=<2->]{\filldraw[shade, opacity=.5, color=red] (0,1) rectangle (0,0);}

由于路径本身的不透明度参数,此矩形不起作用。因此,此矩形始终显示在所有叠加层中。

有什么解决方法吗?

谢谢

答案1

\transfade这是带有和 的MWE \onslide。它仅在全屏模式下有效。

\documentclass{beamer}
\usepackage{tikz}
\begin{document}
\begin{frame}
\transfade
\begin{tikzpicture}
\onslide<2->{
\filldraw[shade, opacity=.5, color=red] (1,1) rectangle (0,0);
}
\end{tikzpicture}
\end{frame}
\end{document}

相关内容