因此,我使用 Torbjørn T. 的答案制作了一个分割矩形如何使用不同的颜色和文本行将 tikz 矩形一分为二。
但是我可以使用渐变(tikzpicture 中的颜色从上到下角渐变) 在里面上半部分和图片(如何使用 TikZ 创建填充图像的矩形?) 在里面下半部分作为填充也一样?
答案1
这就是你想要的吗?抱歉,我的问题不太清楚……
\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{tikzpicture}[
box/.style={
rectangle split, rectangle split parts=2,
draw=black, thick, rounded corners,
left color=blue, right color=blue!20!white,
text width=3cm, align= center}
]
\node [box]
{\nodepart{one} text text
\nodepart{two} text};
\end{tikzpicture}
\end{document}
或者像这样:
\documentclass[tikz,border=3mm] {standalone}
\usetikzlibrary{arrows,fadings, positioning, shapes.multipart}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}[
node distance=3mm,
box/.style args = {#1/#2/#3}{
rectangle split, rectangle split parts=2,
draw=black, thick, rounded corners,
text width=3cm, align=center,
postaction={path fading =#1,
fading angle=#2,
fill=#3}}
]
\node (n1) [box=north/45/blue] {text1 \nodepart{two} text 2};
\node (n2) [box=south/-45/orange,
below=of n1] {text1 \nodepart{two} text 2};
\end{tikzpicture}
\end{document}
编辑(1): 关于问题的编辑:在多部分形状中,无法使用已知形状的选项对每个形状部分分别进行渐变着色和褪色(您的问题似乎是对多部分形状的新功能请求)。
编辑(2): 作为解决方法,在背景层上为每个节点部分分别绘制渐变颜色,可以这样绘制:
\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{shapes.multipart}
\begin{document}
\begin{tikzpicture}[
box/.style args = {#1/#2}{
rectangle split, rectangle split parts=2,
rounded corners,
text width=3cm, align=center,
draw, thick,
append after command={\pgfextra
\fill[left color=#1, right color=#1!20!white]
(\tikzlastnode.one west)
[rounded corners] |- (\tikzlastnode.north) -| (\tikzlastnode.one east)
[sharp corners] |- (\tikzlastnode.one split) -| cycle;
\fill[left color=#2, right color=#2!20!white]
(\tikzlastnode.two west)
[rounded corners] |- (\tikzlastnode.south) -| (\tikzlastnode.two east)
[sharp corners] |- (\tikzlastnode.one split) -| cycle;
\endpgfextra}% end of the append after command
}% end of the box style definition
]
\node [box=blue/red]
{\nodepart{one} longer, two lines text in part 1
\nodepart{two} text 2};
\end{tikzpicture}
\end{document}
用于append after command={\pgfextra ...}
分别填充每个形状的部分。