将相同的颜色分配给多个对象阴影的重叠部分

将相同的颜色分配给多个对象阴影的重叠部分

我正在使用 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

在此处输入图片描述

但是这会产生重叠边框和阴影效果。对于你的情况,我认为最好创建自定义节点形状并在顶部和侧面添加不同的颜色,或者添加更多空间。

相关内容