在 tikz 中的同一个箭头(头部)中部分添加不透明度

在 tikz 中的同一个箭头(头部)中部分添加不透明度

如何告诉 tikz 不要在同一个箭头中应用(否则有用的)“添加”效果(顺便说一句:tikz 如何计算这里的不透明度因子?显然,它不是字面上的“添加”值,因为重叠区域将以 0.5+0.5=1.0=黑色呈现。)部分透明区域?例如:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows}

 \begin{document}
 \thispagestyle{empty}
 \begin{tikzpicture}
  \node (a) at (0,0) [] {};
  \node (b) at (100pt,0) [] {};
  \draw[->,line width = 20pt,opacity=0.5] (a)--(b);
 \end{tikzpicture}

\end{document}

在此处输入图片描述

答案1

不透明度会分别应用于每条路径,因此重叠的路径看起来“很奇怪”。因此,当需要对所有路径应用相同的不透明度时,需要连接路径。要实现这一点,请使用带有选项 的范围[transparency group]。此键会应用适当的不透明度,而不会重叠。在您的例子中,

\begin{scope}[transparency group, opacity = 0.5]
\node (a) at (0,0) [] {};
\node (b) at (100pt,0) [] {};
\draw[->,line width = 20pt] (a)--(b);
\end{scope}

在 pgf 手册中,第 23.5 节“透明度组”对此进行了解释。

至于您关于几种不透明度的问题:不透明度通常是乘法的。您可以通过设置乘法方式(关于颜色、截止和子)[blend mode =],如同一手册第 23.3 节所述。(同样,密钥必须应用于周围范围,而不是路径本身。)手册可以在这里找到:http://ctan.org/pkg/pgf

答案2

使用transparency group

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
  \thispagestyle{empty}
  \begin{tikzpicture}
    \begin{scope}[transparency group, opacity=0.5]
      \node (a) at (0,0) [] {};
      \node (b) at (100pt,0) [] {};
      \draw[->,line width = 20pt] (a)--(b);
    \end{scope}
  \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容