使用渐变还是图片作为分割矩形的填充?

使用渐变还是图片作为分割矩形的填充?

因此,我使用 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 ...}分别填充每个形状的部分。

相关内容