TikZ 提供填充模式(文档中的第 15.5.1 节)。
除了用单一纯色填充路径外,还可以用平铺图案填充路径。想象一下,一个小平铺包含一个像星星一样的简单图片。然后这些平铺(概念上)在所有方向上无限重复,但与路径相切。
有没有选项可以偏移图案?这样图案边缘的瓷砖(概念上)就会在特定位置被切断?
我尝试pattern
与之结合clip
,但没有任何改变。
\clip (0, 0) rectangle (1, 1);
\fill [pattern color=black, pattern=fivepointed stars] (-0.8, -0.7) rectangle (1, 1);
两个都
\documentclass[]{standalone}
\usepackage{tikz}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\fill[pattern color=black, pattern=fivepointed stars] (0, 0) rectangle (1, 1);
\end{tikzpicture}
\end{document}
和
\documentclass[]{standalone}
\usepackage{tikz}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\clip (0, 0) rectangle (1, 1);
\fill[pattern color=black, pattern=fivepointed stars] (-0.2, -0.3) rectangle (1, 1);
\end{tikzpicture}
\end{document}
生产
我正在寻找一种方法来获得这样的东西
与第一张图纸相比,该图案只是略有偏移。
答案1
使用patterns.meta
库可以定义shifting
某些模式。
\documentclass[]{standalone}
\usepackage{tikz}
\usetikzlibrary{patterns,patterns.meta}
\begin{document}
\begin{tikzpicture}
\draw[pattern=Stars, pattern color=red] (0,0) rectangle +(1, 1);
\draw[pattern={Stars[xshift=2pt,yshift=3pt]}, pattern color=blue] (0,0) rectangle +(1, 1);
\end{tikzpicture}
\end{document}
答案2
在pgfmanual.pdf
Tikz 和 PGF 的文档 v. 3.1.4b,第 1152 页中,我们读到:
其次,模式阶段定义不明确,也就是说,“第一个”图块的原点在哪里并不明确。更准确地说,PostScript 和 pdf 与 svg 对原点的定义不同。PostScript 和 pdf 定义了一个固定的原点,与路径所在的位置无关。这具有非常理想的效果,即如果您使用相同的模式填充多个路径,则结果与填充由所有这些路径的并集组成的单个路径相同。相比之下,svg 使用要填充的路径的左上角(?)作为原点。但是,svg 规范在这个问题上有点含糊。
因此,你的问题的答案是:不。