如何将一个圆圈放在另一个圆圈之上?

如何将一个圆圈放在另一个圆圈之上?

这是我的代码:

\documentclass[tikz,12pt]{standalone}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}[line width=1.5pt]
\coordinate (A) at (2,2);
\coordinate (B) at (2,1.2);
\coordinate (C) at (3,2);
\coordinate (D) at (3,1.2);
\draw[fill=white] (A) circle (0.5);
\draw[fill=white,pattern=north east lines, pattern color=black] (B) circle (0.5);
\draw[fill=white] (C) circle (0.5);
\draw[fill=white] (D) circle (0.5);
\end{tikzpicture}
\end{document}

在此处输入图片描述

当我使用时,pattern=north east lines我可以看到带有图案的第一个圆圈到第二个圆圈。

如果我不使用,pattern=north east lines我就会得到我想要看到的:第二个圆圈覆盖第一个圆圈。

但我需要第二个圆圈带有图案。

如果不使用的话如何解决这个问题\pgfdeclarelayer{background} \pgfsetlayers{background,main}

答案1

填充完成后即可使用postaction和绘制图案。

\documentclass[tikz,12pt]{standalone}
\usetikzlibrary{patterns}

\begin{document}
\begin{tikzpicture}[line width=1.5pt]
\coordinate (A) at (2,2);
\coordinate (B) at (2,1.2);
\coordinate (C) at (3,2);
\coordinate (D) at (3,1.2);
\draw[fill=white] (A) circle (0.5);
\draw[fill=white,
         postaction = {pattern=north east lines,pattern color=black}] (B) circle (0.5);
\draw[fill=white] (C) circle (0.5);
\draw[fill=white] (D) circle (0.5);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

图形参数:填充图案TiKZ您可以阅读文档中的部分内容

Instead of filling a path with a single solid color, it is also possible to fill it with a tiling pattern.

虽然没有明确说明,但看​​起来任何pattern选项都会替换任何先前的fill选项。当然,任何fill选项都会替换任何pattern一个。只需将fill=white其放在pattern代码中,看看会发生什么。

因此,如果您想要一个填充(不透明)图案,则需要在(postaction)填充之后绘制它,同时绘制节点,如 Harish 的答案中所示。

另一个选择是preaction在绘制节点及其填充图案之前进行填充()。

\documentclass[tikz,12pt]{standalone}
\usetikzlibrary{patterns}

\begin{document}
\begin{tikzpicture}[line width=1.5pt]
\coordinate (A) at (2,2);
\coordinate (B) at (2,1.2);
\coordinate (C) at (3,2);
\coordinate (D) at (3,1.2);
\draw[fill=white] (2,2) circle (0.5);
\draw[preaction={fill=white},
         pattern=north east lines,pattern color=black] (B) circle (0.5);
\draw[fill=white] (C) circle (0.5);
\draw[fill=white] (D) circle (0.5);
\end{tikzpicture}
\end{document}

相关内容