我正在寻找一种不同于“通常”方式的节点着色方法
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[top color=red, bottom color=green] {};
\end{tikzpicture}
\end{document}
在此示例中,存在渐变,即中间颜色与实际顶部和底部颜色不同。是否可以更改它,即在没有任何不同中间颜色的情况下对颜色进行严格分离(顶部=红色,底部=绿色)或更改渐变的属性?
答案1
像这样?
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[draw,
append after command={
\pgfextra
\fill[green] (\tikzlastnode.south west) rectangle (\tikzlastnode.east);
\fill[red] (\tikzlastnode.north west) rectangle (\tikzlastnode.east);
\endpgfextra
}] {A};
\end{tikzpicture}
\end{document}
更新
或者更简单的选择path picture
:
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\begin{tikzpicture}
\node[draw, fill=red,
path picture={\fill[green] (path picture bounding box.west) rectangle (path picture bounding box.south east);}] {A};
\end{tikzpicture}
\end{document}