答案1
重复使用polyn 的想法从这个问题arc[start angle=..., end angle=..., x radius=..., y radius=...]
以及椭圆弧的更明确的语法:
\documentclass[tikz,border=2mm]{standalone}
\begin{document}
\begin{tikzpicture}
\begin{scope}
\clip (2,-5) rectangle (7,-2);
\fill[red!60] (1,-3)
arc[start angle=180, end angle=360, x radius=4cm, y radius=2cm];
\end{scope}
\filldraw[red!60] (2,-3) rectangle ([yshift=-0.5\pgflinewidth] 7,-2);
\draw (1,-3) arc (180:360:4cm and 2cm);
\draw (2,-2) -- (2,-5) (7,-2) -- (7,-5);
\end{tikzpicture}
\end{document}
我使用\filldraw
而不是\fill
来填充矩形,以便不在第一个填充区域上方留下一个狭窄的未填充空间(或者,可以使用例如\fill[red!60] (2,-3.5) rectangle (7,-2);
)。由于这会绘制得0.5\pgflinewidth
高于垂直线,因此我使用 进行了更正yshift
。使用 后的效果如下line width=3pt
: