TikZ - 如何引用和重新绘制之前绘制的图层

TikZ - 如何引用和重新绘制之前绘制的图层

我有一个由第 1 层上的正方形、顶部的四个圆盘(构成第 2 层)和顶部的蓝色字母(构成第 3 层)组成的图形。如下所示:

在此处输入图片描述

我怎样才能引用“第 1 层 - 第 2 层的减法”,即属于正方形但不属于磁盘的间隙空间 - 并将其重新绘制在顶部作为第 4 层,这样字母的某些部分将会消失,只有磁盘顶部的部分才会可见。

当前图形的代码是:

\documentclass{minimal}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[scale=2]

%Layer 1:
 \shade (0,0) rectangle (4,4);

%Layer 2:
 \shade (1,1) circle [radius=1];
 \shade (3,1) circle [radius=1];
 \shade (1,3) circle [radius=1];
 \shade (3,3) circle [radius=1];

%Layer 3:
 \node [shift={(1.0cm, 5.5cm)}, anchor=north west,rotate=20] (A) {
       \textcolor{blue}{\fontsize{180pt}{11pt}\selectfont{\textbf{A}}}
 };

\end{tikzpicture}
\end{document}

答案1

您可以使用clip操作:

\documentclass{standalone}
\usepackage{tikz}
\usepackage{lmodern}
\begin{document}
\begin{tikzpicture}[scale=2]

  % Layer 1:
  \shade (0,0) rectangle (4,4);

  % Layer 2:
  \shade (1,1) circle [radius=1];
  \shade (3,1) circle [radius=1];
  \shade (1,3) circle [radius=1];
  \shade (3,3) circle [radius=1];

  % Clip
  \clip 
  (1,1) circle [radius=1]
  (3,1) circle [radius=1]
  (1,3) circle [radius=1]
  (3,3) circle [radius=1];

  % Layer 3:
  \node [shift={(1.0cm, 5.5cm)}, anchor=north west,rotate=20,
  color=blue,font=\fontsize{180pt}{180pt}\selectfont]
  (A) {\textbf{A}};

\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容