다른 경로와 동일한 경로의 채우기 + 패턴

다른 경로와 동일한 경로의 채우기 + 패턴

왜 다음 LaTeX 원고는

\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}

붉은 벽돌을 생산합니다:

붉은 벽돌

다음과 같이 두 \path줄을 하나로 병합합니다.

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

흰색 벽돌을 생성합니다.

흰색 벽돌

?

벽돌 패턴의 벽돌 내부는 투명하거나 그렇지 않거나 둘 중 하나입니다. 투명하다면 왜 두 번째 경우에 빨간색 채우기가 보이지 않습니까? 투명하지 않은 경우 첫 번째 경우 빨간색 채우기가 보이는 이유는 무엇입니까?

답변1

첫 번째 경우에는 두 개의 서로 다른 \path가 있으므로 빨간색 직사각형이 먼저 그려진 다음 pattern맨 위에 가 그려집니다. 검은색 선만 그리 므로 pattern(사이 부분을 채우지 않음) 아래 빨간색이 표시됩니다.

두 번째 경우에는 pattern뒤에 를 추가하기 때문입니다 fill.같은 \path,pattern 대체하다. fill​설명서에 따르면

패턴은 채우기 색상처럼 작동합니다. 특히, 새로운 채우기 색상을 설정하면 경로가 다시 한 번 단색으로 채워집니다.

따라서 fill=red, pattern=bricksthe fill는 무시되고 the만 pattern그려집니다. 마찬가지로 순서를 바꾸면 ( pattern=bricks,fill=red)만 fill그려집니다.

하나의 경로에서 두 가지 작업을 모두 수행하려면 a preaction또는 a 를 사용할 수 있습니다 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}

관련 정보