使用 tikzpicture 填充颜色

使用 tikzpicture 填充颜色

该代码产生了图 2。有没有办法得到图 1?

在此处输入图片描述

\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\noindent\begin{tikzpicture}[fill opacity=0.5]
  \begin{scope}
    \shade[left color=yellow, bottom color=orange, right color=red]% fill opacity=0.5]
      (-0.5,5.5) -- (8.5,3) -- (8.5,6.5) -- (-0.5,6.5) -- cycle;
   %   \shade[left color=yellow, right color=white, fill opacity=0.5]
     % (2.5,6.5) -- (8.5,6.5) -- (8.5,3) -- (5,3) -- cycle;
  \end{scope}
\end{tikzpicture}

\end{document}

谢谢你!

答案1

在里面scope你可以画一个\shade矩形,然后用\clip它剪出你喜欢的任何形状。因为我不知道确切的形状,所以我只用了一条线bend

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\begin{document}
\noindent\begin{tikzpicture}[fill opacity=0.5]
  \begin{scope}
    \clip[draw] (0.5,3) to[bend left=20] (8.5,6) -- (8.5,3) to[bend right=30] (0.5,1) -- cycle; 
    \shade[left color=yellow, bottom color=orange, right color=red](0,0) rectangle (9,7);
  \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

正如 esdd 在评论中所述,可以使用以下方法完成相同的操作

\begin{tikzpicture}[fill opacity=0.5]
  \shade[draw,left color=yellow,right color=red]  (0.5,3) to[bend left=20] (8.5,6) -- (8.5,3) to[bend right=30] (0.5,1) -- cycle;
\end{tikzpicture}

相关内容