TikZ 褪色速度

TikZ 褪色速度

在褪色的例子中 TikZ 示例

我想改变淡入淡出的“速度”。事实上,我希望它非常“清晰”,这样在正方形示例中,您基本上只能看到大约半个正方形,因为它淡入淡出得非常快。

有什么想法可以实现吗?(基本上,我想覆盖两个具有不同颜色的正方形,最终看到半个正方形是一种颜色,另一半是另一种颜色,但两者在中心之间有一种快速淡入淡出(而不是默认 tikz 设置提供的逐渐淡入淡出)

答案1

默认情况下,没有用于设置线性着色颜色之间过渡速度的选项。不过,您可以相对轻松地添加它。这是一种fading speed=<0..100>允许设置标准axis着色过渡速度的新样式。

在此处输入图片描述

\documentclass{standalone}
\usepackage{tikz}
\begin{document}


\makeatletter
\tikzset{
    fading speed/.code={
        \pgfmathtruncatemacro\tikz@startshading{50-(100-#1)*0.25}
        \pgfmathtruncatemacro\tikz@endshading{50+(100-#1)*0.25}
        \pgfdeclareverticalshading[%
            tikz@axis@top,tikz@axis@middle,tikz@axis@bottom%
        ]{axis#1}{100bp}{%
            color(0bp)=(tikz@axis@bottom);
            color(\tikz@startshading)=(tikz@axis@bottom);
            color(50bp)=(tikz@axis@middle);
            color(\tikz@endshading)=(tikz@axis@top);
            color(100bp)=(tikz@axis@top)
        }
        \tikzset{shading=axis#1}
    }
}
\makeatother

\begin{tikzpicture}[top color=blue, bottom color=yellow]

\foreach \speed [count=\count] in {0,25,...,100}{
    \fill [fading speed=\speed] (\count,0) rectangle +(1,2);
    \path (\count,0) +(0.5,2) node [text=white,anchor=north] {\speed};
}
\end{tikzpicture}
\end{document}

相关内容