答案1
颜色在这里设置:
%% currently there is just one number in the stack.
%% we need three corresponding to the RGB values
dup
0.4
您必须输入想要改变颜色的 RGB 值,例如设置:
dup
0.4
0.5
你会得到类似粉红色的东西。
RGB 表示红、绿、蓝,即原色,在这种表示法中,它们的值从 0(= 无光)到 1(= 全光),例如:
r g b
0 0 0 = black
1 0 0 = red
0 1 0 = green
0 0 1 = blue
1 1 1 = white
如果所有 3 个值都等于 0 到 1 之间的值,则您会得到灰度等级。
正如您在评论中所说,如果您将所有 rgb 设置为相等,则会丢失阴影,我认为您可以通过更改其他命令来达到所需的结果,但不知道它们,因为它们是 PostScript 语言子集的简化形式,请\pgfdeclarefunctionalshading
在 Ti_k_Z 和 PGF 手册中搜索并参见第 3.9.4 节 [此处](http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf) 了解更多信息。
相反,我建议您使用一个更简单的解决方案,如果您不喜欢 CroCo 的解决方案,请尝试这样的方法(修改值直到找到您想要的内容):
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\pgfdeclareradialshading{sphere}{\pgfpoint{0.5cm}{0.5cm}}%
{rgb(0cm)=(1,1,1);
rgb(0.9cm)=(0.7,0.7,0.7);
rgb(1cm)=(0.5,0.5,0.5);
rgb(1.05cm)=(0,0,0)}
\begin{document}
\pgfuseshading{sphere}
\end{document}
答案2
这就是您所寻求的吗?
\documentclass[border={10pt}]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
[
sphereBlack/.style={ball color = black},
sphereYellow/.style={ball color = yellow}
]
\shade[sphereBlack] (0,0) circle (1cm);
\shade[sphereYellow] (3,0) circle (1cm);
\end{tikzpicture}
\end{document}