我想使用 Tikz 算法生成一些具有基于计算的颜色值的文本。例如:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \i in {0, 1, ..., 10} {
\draw (\i, 0) node {\textcolor[gray]{0.5}A};
}
\end{tikzpicture}
\end{document}
以灰色显示一行“A”:
我该如何计算0.5
值,例如,以不同灰度显示这组“A”,例如从黑色到白色的渐变?我可以使用相同的方法计算任意 RGB 值吗?
答案1
答案2
答案3
您可以在 foreach 循环本身内评估变量(参见 3.0.1a 手册第 904 页)。
在这里,由于您想从黑色变为白色,您可以执行以下操作:
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\foreach \i [evaluate=\i as \gradient using 100-\i*10] in {0, 1, ..., 10} {
\draw (\i, 0) node[text=black!\gradient] {A};
}
\end{tikzpicture}
\end{document}
答案4
与 marmot 提出的语法略有不同,但效果相同
\documentclass[tikz,border=3.14pt]{standalone}
\begin{document}
\begin{tikzpicture}
\draw foreach \i [evaluate=\i as \j using {int(\i*10)}] in {0, 1, ..., 10} {
(\i, 0) node[text=gray!\j!white] {A}
};
\end{tikzpicture}
\end{document}