如何使用 xcolor 和 tikz/pgf 定义随机数

如何使用 xcolor 和 tikz/pgf 定义随机数

我尝试使用 xcolor 和 tikz 获取随机颜色:

\documentclass{article}
\usepackage[xetex, rgb]{xcolor}
\usepackage{tikz}

\begin{document}

\pgfmathsetseed{1}
\begin{tikzpicture}
    \xdefinecolor{MyColor}{hsb}{rand, 1.0, 1.0}
    \node[fill=MyColor]{Hello};
\end{tikzpicture}
\end{document}

但这不起作用,它会报告以下错误

Missing number, treated as zero

有人知道如何获得随机颜色吗?谢谢。

答案1

\begin{tikzpicture}
    \pgfmathparse{rnd}
    \xdefinecolor{MyColor}{hsb}{\pgfmathresult, 1.0, 1.0}
    \node[fill=MyColor]{Hello};
\end{tikzpicture}

答案2

egre 解决方案为您提供了伪随机颜色。

如果您使用 pdftex 或它的一个子产品,我建议您采用这个解决方案,其中每次编译您将获得不同的颜色。

\documentclass{standalone}

\usepackage{tikz}


\begin{document}
\begin{tikzpicture}
    \pgfmathparse{rnd}
    \xdefinecolor{MyColor}{rgb}{\pgfmathresult, 1.0, 1.0}
    \node[fill=MyColor](A) at (0,0){Hello};

     \edef\R{\pdfuniformdeviate 255}
     \edef\G{\pdfuniformdeviate 255}
     \edef\B{\pdfuniformdeviate 255}
     \xdefinecolor{MyColor2}{RGB}{\R,\G,\B}
     \node[fill=MyColor2](A2) at (0,-.5){Hello};
\end{tikzpicture}
\end{document}

相关内容