![使用径向渐变填充正方形](https://linux22.com/image/339868/%E4%BD%BF%E7%94%A8%E5%BE%84%E5%90%91%E6%B8%90%E5%8F%98%E5%A1%AB%E5%85%85%E6%AD%A3%E6%96%B9%E5%BD%A2.png)
有了我的 MWE
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{fadings}
\begin{document}
\begin{tikzpicture}
\colorlet{ok}{green!25!}
\colorlet{bad}{red!20!}
\fill[ok] (0,0) -- (0,6) -- (6,6) -- (6,0) -- cycle;
\fill[bad, path fading=south,fading angle=-45]
(0,0) -- (0,6) -- (6,6) -- (6,0) -- cycle;
\draw[black] (0,0) -- (0,6) -- (6,6) -- (6,0) -- (0,0);
\end{tikzpicture}
\end{document}
答案1
重写代码,你可以将主正方形用作\clip
,然后在左下角放置一个圆,其半径等于正方形的边长。然后可以将 应用于path fading
此圆。
另外,从 切换minimal
到standalone
单一图形。
输出
代码
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{fadings}
\tikzfading[name=fade out,
inner color=transparent!0,
outer color=transparent!100]
\colorlet{ok}{green!25!}
\colorlet{bad}{red!20!}
\begin{document}
\begin{tikzpicture}
\clip[preaction={fill=ok, draw=black}] (0,0) rectangle (6,6);
\fill[bad, path fading=fade out, draw=none] (0,0) circle (6cm);
\end{tikzpicture}
\end{document}
答案2
我认为您正在寻找一个shading
。
\documentclass[tikz]{standalone}
\usetikzlibrary{shadings}
\makeatletter
\pgfdeclareradialshading[tikz@radial@inner,tikz@radial@outer]%
{sw radial}%
{\pgfqpoint{-50bp}{-50bp}}%
{%
color(0bp)=(tikz@radial@inner);%
color(10bp)=(tikz@radial@outer!5!tikz@radial@inner);%
color(25bp)=(tikz@radial@outer!30!tikz@radial@inner);%
color(40bp)=(tikz@radial@outer!65!tikz@radial@inner);%
color(45bp)=(tikz@radial@outer!85!tikz@radial@inner);%
color(50bp)=(tikz@radial@outer)}
\makeatother
\pgfuseshading{sw radial}
\begin{document}
\begin{tikzpicture}[]
\shade[inner color=yellow,outer color=blue,shading=sw radial]
(0,0) -- (0,6) -- (6,6) -- (6,0) -- cycle;
\end{tikzpicture}
\end{document}
现在,因为我很懒,所以我很快就抢到了预定义radial
阴影的定义并摆弄它。这有一个后果:你必须在内部外部颜色规范后写下阴影的名称。否则它会自动假设shading=radial
。
而且我是色盲,所以你可以更好地调整过渡。
答案3
我不清楚你想做什么:可能阿莱南诺的建议;可能还有其他东西。以下是一些可能的其他东西。前 3 个似乎是合理的解释。右下角的解释只是因为我没有合理的解释,并且不喜欢由此产生的不对称。
\documentclass[border=10pt,multi,tikz]{standalone}% never use minimal for examples - it isn't suitable
\begin{document}
\begin{tikzpicture}
\colorlet{ok}{green!25!}
\colorlet{bad}{red!20!}
\begin{scope}
\clip (0,0) rectangle (6,6);
\fill [inner color=ok, outer color=bad] (0,0) circle ({6*(sqrt(2))});
\draw [black,thick] (0,0) circle (5.5);
\end{scope}
\begin{scope}[xshift=65mm]
\clip (0,0) -- ++(5.5,0) arc (0:90:5.5) -- cycle;
\fill [inner color=ok, outer color=bad] (0,0) circle ({5.5*(sqrt(2))});
\end{scope}
\begin{scope}[yshift=-65mm]
\clip (6,6) |- ++(-0.5,-6) arc (0:90:5.5) |- cycle;
\fill [inner color=ok, outer color=bad] (0,0) circle ({6*(sqrt(2))});
\end{scope}
\begin{scope}[xshift=65mm,yshift=-65mm]
\clip (6,6) |- ++(-0.5,-6) arc (0:90:5.5) |- cycle;
\fill [inner color=ok, outer color=bad] ({2.75*(sqrt(2))},{2.75*(sqrt(2))}) circle ({3.5*(sqrt(2))});
\end{scope}
\end{tikzpicture}
\end{document}