使用 tikz 绘制整洁的 UML 类图

使用 tikz 绘制整洁的 UML 类图

我想用 tikz 绘制(UML)类图(我知道有一个专门的 tikz 包)。我想模仿yuml.me用途,因为我个人觉得它非常有吸引力,同时又很严肃。以下是我想要实现的一个例子:

特别注意,边框内外有轻微的阴影/光晕,并且填充颜色使用了微妙的颜色渐变。

下面是一个放大的视图,可以更清楚地说明我的意思:

我尝试从 yuml 图中获取颜色值并将它们传输到 tikz,但我得到的最接近的结果如下:

\tikzstyle{class}=[
    rectangle,
    draw=black,
    text centered,
    anchor=north,
    text=black,
    text width=3cm,
    shading=axis,
    bottom color={rgb:red,222;green,222;blue,222},top color=white,shading angle=45]

\begin{tikzpicture}[node distance=2cm]
    \node (Item) [class, rectangle split, rectangle split parts=2]
    {
        \textbf{Car}
        \nodepart{second}foobar\newline baz
    };      
\end{tikzpicture}

它仍然很丑陋,远没有达到我想要达到的风格。

任何来自 tikz-experts 的帮助都将受到赞赏!

答案1

那这个呢?

在此处输入图片描述

只需用 替换旧的底部颜色定义bottom color=black!20。更改该数字即可增加或减少饱和度。

答案2

正如 Alenanno 的建议,使用定义颜色宏将解决颜色问题。

\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\definecolor{bottomcol}{RGB}{222,222,222}

\begin{document}
\tikzstyle{class}=[
    rectangle,
    draw=black,
    text centered,
    anchor=north,
    text=black,
    text width=3cm,
    shading=axis,
    bottom color=bottomcol,top color=white,shading angle=45]

\begin{tikzpicture}[node distance=2cm]
    \node (Item) [class, rectangle split, rectangle split parts=2]
    {
        \textbf{Car}
        \nodepart{second}foobar\newline baz
    };      
\end{tikzpicture}
\end{document}

输出:

在此处输入图片描述

相关内容