我画了很多不同颜色的半透明区域混合在一起的图像。现在,交叉点的颜色显然取决于绘制区域的顺序(至少在正常混合模式下):
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill[red,opacity=0.5] (1,0) rectangle (2,2);
\fill[blue,opacity=0.5] (0,1) rectangle (2,2);
\end{tikzpicture}
\begin{tikzpicture}
\fill[blue,opacity=0.5] (0,1) rectangle (2,2);
\fill[red,opacity=0.5] (1,0) rectangle (2,2);
\end{tikzpicture}
\end{document}
是否存在混合模式 (或其他实现方式),使得两个矩形相交的颜色不取决于顺序 (最好,也适用于两层以上)?当然,颜色仍然应该可以识别为表示相交,这排除了像这样的混合模式exclude
。
答案1
您可以使用blend mode=screen
:
\documentclass[tikz,border=1.618]{standalone}
\begin{document}
\begin{tikzpicture}[blend mode=screen]
\fill[red ,opacity=0.5] (1,0) rectangle (2,2);
\fill[blue,opacity=0.5] (0,1) rectangle (2,2);
\begin{scope}[xscale=-1,xshift=-4cm] % <-- I want the figures joined
\fill[blue,opacity=0.5] (0,1) rectangle (2,2);
\fill[red ,opacity=0.5] (1,0) rectangle (2,2);
\end{scope}
\end{tikzpicture}
\end{document}