我需要绘制一个看起来像平常的箭头\Rightarrow
,但具有蓝色轮廓且不透明度为 0.5。我可以做到这一点:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows}
\begin{document}
\begin{tikzpicture}
\draw (-1.5,-0.7) rectangle (1.5,0.7);
\draw[-{implies}, double equal sign distance, blue] (-1,0) -- (1,0);
\end{tikzpicture}
\end{document}
但是,一旦我改变不透明度,就会发生这种情况:
\begin{tikzpicture}
\draw (-1.5,-0.7) rectangle (1.5,0.7);
\draw[-{implies}, double equal sign distance, blue, opacity = 0.5] (-1,0) -- (1,0);
\end{tikzpicture}
是我的语法有问题,还是这种箭头不可避免的行为?
答案1
这绝对行不通。你需要问自己想要实现什么。
为了消除您所说的效果,您可以使用transparency group
如下方法:
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{arrows.meta, patterns}
\begin{document}
\begin{tikzpicture}
%\pattern[pattern=checkerboard] (-1.5,-0.7) rectangle (1.5,0.7);
\begin{scope}[transparency group, opacity=0.5]
\draw[-{Implies}, double equal sign distance, blue] (-1,0) -- (1,0);
\end{scope}
\end{tikzpicture}
\end{document}
但是背景中有一些东西(使某些东西透明的唯一原因)
可以看出双线的中间不是空的而是填充了背景色(白色)并且覆盖了图案。
双线实际上只是画两次 - 首先是一条粗蓝线,然后是一条中心白线。
编辑:我认为它可以在特定情况下起作用transparency group
,即背景中的东西不在双线中心后面:
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
\fill (-1,0.4) to[bend right] (1,0.25);
\begin{scope}[transparency group, opacity=0.5]
\draw[-{Implies}, double equal sign distance, blue, very thick] (-1,0) -- (1,0);
\end{scope}
\end{tikzpicture}
\end{document}