带有不透明文本的透明节点?

带有不透明文本的透明节点?

有没有一种简单的方法可以创建带有不透明文本的透明节点?最好无需使用后续操作或重新绘制节点。

在下面的例子中,我想实现前三个节点的效果,而无需重新绘制第二个节点来创建不透明文本:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    % desired effect:
    \node [fill=red,circle,minimum size=6mm,inner sep=0mm] {};
    \node [right,fill=green,opacity=.2] {Node};
    \node [right] {Node};

    % undesired effect:
    \node at(2,0) [fill=red,circle,minimum size=6mm,inner sep=0mm] {};
    \node at(2,0) [right,fill=green,opacity=.2] {Node};
\end{tikzpicture}
\end{document}

例子

答案1

设置 后opacity,必须重置text opacity=1才能获得不透明文本。键是同时opacity设置draw opacity和 的简写,而反过来会自动应用于。fill opacityfill opacitytext opacity

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    % undesired effect:
    \node at(2,0) [fill=red,circle,minimum size=6mm,inner sep=0mm] {};
    \node at(2,0) [right,fill=green,opacity=.2,text opacity=1] {Node};
\end{tikzpicture}
\end{document}

相关内容