tikz:仅向北/向南绘制带圆角的矩形?

tikz:仅向北/向南绘制带圆角的矩形?

我正在尝试绘制两个矩形(使用\fill和一个循环),其中只有北/南角是圆角。我希望下面的蓝色矩形仅在顶部有圆角,我希望底部的红色矩形仅在底部有圆角。

代码:

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{figure}[h]
\centering

\begin{tikzpicture}
\fill [blue,rounded corners=10, draw]
  (0,0) --
  ++(5,0) --
  ++(0,5) --
  ++(-5,0) --
  cycle
  {};
\fill [red,rounded corners=10, draw]
  (0,0) --
  ++(5,0) --
  ++(0,-5) --
  ++(-5,0) --
  cycle
  {};
\end{tikzpicture}

\end{figure}

\end{document}

输出:
在此处输入图片描述

有人可以帮我弄这个吗?

这些问题可能暗示了解决方案,但我无法让它与\fill或一起工作\drawTikZ 节点仅一侧有圆角
在 TikZ 中绘制一个带圆角的矩形
具有不同圆角的TikZ矩形节点

答案1

谢谢你的建议!我喜欢答案中提出的方法Torbjørn T.与最多链接,所以我自己在这里回答。

代码:

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{figure}[h]
\centering

\begin{tikzpicture}
\fill [blue,draw]
  (0,0) --
  ++(5,0) {[rounded corners=10] --
  ++(0,5) --
  ++(-5,0)} --
  cycle
  {};
\fill [red,draw]
  (0,0) --
  ++(5,0) {[rounded corners=10] --
  ++(0,-5) --
  ++(-5,0)} --
  cycle
  {};
\end{tikzpicture}

\end{figure}

\end{document}

输出:
在此处输入图片描述

答案2

一个盒子和一个path picture

\documentclass[tikz,border=5]{standalone}
\tikzset{bicolor/.style args={#1 and #2}{
  path picture={
    \tikzset{rounded corners=0}
    \fill [#1] (path picture bounding box.west)
      rectangle (path picture bounding box.north east);
    \fill [#2] (path picture bounding box.west)
      rectangle (path picture bounding box.south east);
}}}
\begin{document}
\begin{tikzpicture}
\path [bicolor={blue and red}, rounded corners=2ex] 
  (0,0) rectangle (2,4);
\end{tikzpicture}
\end{document}  

在此处输入图片描述

答案3

\documentclass{article}

\usepackage[most]{tcolorbox}



\begin{document}




\begin{figure}[h]

\centering
\begingroup % for `\offinterlineskip` 
\offinterlineskip
\tcbset{arc=0.5cm,auto outer arc}
\begin{tcolorbox}[nobeforeafter,after=\par\nointerlineskip,sharp corners=south,height=4cm,colback=blue,boxrule=0pt,width=4cm]
\end{tcolorbox}
\begin{tcolorbox}[nobeforeafter,after=\par\nointerlineskip,sharp corners=north,height=4cm,colback=red,boxrule=0pt,width=4cm]
\end{tcolorbox}
\endgroup
\end{figure}

\end{document}

在此处输入图片描述

答案4

另一种解决方案。同一个矩形被绘制两次,但第二次用另一种颜色填充并裁剪以仅显示一半。

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{figure}[h]
\centering

\begin{tikzpicture}
\fill [blue,rounded corners=10, draw]
  (0,0) rectangle (5,10);
\begin{scope}
\clip (0,0) rectangle (5,5);
\fill [red,rounded corners=10, draw]
  (0,0) rectangle (5,10);
\end{scope}
\end{tikzpicture}

\end{figure}

\end{document}

在此处输入图片描述

相关内容