我正在使用 TikZ 绘制一个由两个形状组成的数据库图标cylinder
。当我添加阴影时,两个圆柱体的阴影会重叠,并且阴影在重叠区域会变暗。下面的 MWE 说明了这个问题。
我尝试在 的定义内\dbicon
和 的调用周围使用透明度组\dbicon
。没有成功。我做错了什么?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{shadows}
\newcommand{\dbpart}[1]{
\node[drop shadow,draw, cylinder, shape aspect=1.5, inner sep=0.3333em,
rotate=90, minimum width=1cm, minimum height=0.45cm] (cyl) at (0,#1) {};
}
\newcommand{\dbicon}{
\begin{tikzpicture}
\dbpart{0cm}%
\dbpart{0.4cm}%
\end{tikzpicture}
}
\begin{document}
\begin{tikzpicture}
\node[inner sep=0pt] {
\dbicon
};
\end{tikzpicture}
\end{document}
答案1
问题在于,shadow
具有默认不透明度,0.5
这意味着重叠区域将增加颜色填充。
您需要确定的是这种方法是否真的是绘制该图形的正确方法。
如果您只想删除重叠区域,请使用:
\newcommand{\dbpart}[1]{
\node[drop shadow={opacity=1.0},draw, cylinder, shape aspect=1.5, inner sep=0.3333em,
rotate=90, minimum width=1cm, minimum height=0.45cm] (cyl) at (0,#1) {};
}
不会在重叠区域添加额外的颜色。您可能需要事后调整颜色。然后您可以fill=gray!20!white
在 组旁边添加drop shadow
。
但是这会产生重叠边框和阴影效果。对于你的情况,我认为最好创建自定义节点形状并在顶部和侧面添加不同的颜色,或者添加更多空间。