preenchimento + padrão em caminhos diferentes versus no mesmo caminho

preenchimento + padrão em caminhos diferentes versus no mesmo caminho

Por que o seguinte manuscrito 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}

produz tijolos vermelhos:

Tijolos vermelhos

enquanto mescla as duas \pathlinhas em uma, como segue:

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

produz tijolos brancos:

Tijolos brancos

?

Ou o interior dos tijolos no padrão de tijolos é transparente ou não. Se for transparente, por que o preenchimento vermelho não aparece no segundo caso? Se não for transparente, por que o preenchimento vermelho aparece no primeiro caso?

Responder1

No primeiro caso você tem dois \paths diferentes, então o retângulo vermelho é desenhado primeiro e depois o patterné desenhado por cima. Como patterndesenha apenas as linhas pretas (não preenche as partes intermediárias), você vê o vermelho abaixo.

No segundo caso, porque você adiciona o patterndepois do fillnomesmo \path, opattern substituio fill. O manual diz

O padrão funciona como uma cor de preenchimento. Em particular, definir uma nova cor de preenchimento preencherá o caminho com uma cor sólida mais uma vez.

então com fill=red, pattern=bricksthe fillé ignorado e apenas the patterné desenhado. Da mesma forma, se você trocar a ordem ( pattern=bricks,fill=red), apenas o fillserá sorteado.

Se quiser fazer as duas coisas em um caminho, você pode usar a preactionou 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}

informação relacionada