Füllung + Muster auf unterschiedlichen Pfaden vs. auf demselben Pfad

Füllung + Muster auf unterschiedlichen Pfaden vs. auf demselben Pfad

Warum ist das folgende LaTeX-Manuskript

\documentclass[tikz,convert]{standalone}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}[color=black]
  \path[fill=red] (0,0) rectangle (1,1);
  \path[pattern=bricks] (0,0) rectangle (1,1);
\end{tikzpicture}
\end{document}

produziert rote Ziegel:

Rote Ziegel

Während die beiden \pathZeilen wie folgt zu einer zusammengeführt werden:

\path[fill=red, pattern=bricks] (0,0) rectangle (1,1);

produziert weiße Ziegel:

Weiße Ziegel

?

Entweder ist das Innere der Ziegel im Ziegelmuster transparent, oder es ist es nicht. Wenn es transparent ist, warum ist die rote Füllung im zweiten Fall nicht sichtbar? Wenn es nicht transparent ist, warum ist die rote Füllung im ersten Fall sichtbar?

Antwort1

Im ersten Fall haben Sie zwei verschiedene \paths, also wird zuerst das rote Rechteck gezeichnet und dann das patterndarüber. Da das patternnur die schwarzen Linien zeichnet (es füllt die Teile dazwischen nicht aus), sehen Sie das Rot darunter.

Im zweiten Fall, weil Sie das patternnach dem fillin dem hinzufügenDasselbe \path, Diepattern ersetztdas fill. Im Handbuch steht

Das Muster funktioniert wie eine Füllfarbe. Insbesondere wird durch das Festlegen einer neuen Füllfarbe der Pfad wieder mit einer Volltonfarbe gefüllt.

daher wird mit fill=red, pattern=bricksignoriert fillund nur patterngezeichnet. Ebenso wird, wenn Sie die Reihenfolge ( pattern=bricks,fill=red) vertauschen, nur fillgezeichnet.

Wenn Sie beides in einem Pfad tun möchten, können Sie a preactionoder a verwenden postaction.

\documentclass[tikz]{standalone}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}[color=black]
  \path[fill=red,postaction={pattern=bricks}] (0,0) rectangle (1,1);

  \path[preaction={fill=blue},pattern=bricks] (1,0) rectangle (2,1);
\end{tikzpicture}
\end{document}

verwandte Informationen