In answer to your first question - mixing colours in (say) RGB format - you could use the notation similar to that specified in the xcolor
package documentation, since TikZ recognizes this. For example, mixing/sharing proportions of black green is obtained using
\node[...,fill=black,...]
\node[...,fill=black!60!green,...]
\node[...,fill=black!30!green,...]
\node[...,fill=green,...]
and displays

Or, if you're interested in mixing certain quantities of RGB colours, you can use a part-wise mix as follows:
\node[...,fill={rgb:red,4;green,2;yellow,1},...]
\node[...,fill={rgb:red,1;green,2;blue,5},...]
\node[...,fill={rgb:orange,1;yellow,2;pink,5},...]
\node[...,fill={rgb:black,1;white,2},...]
which outputs

For answering your second question - dealing with boxes - you can use the fancybox
package or even PStricks
. Here is an example using the latter:
\documentclass{article}
\usepackage{pstricks}
\begin{document}
\begin{pspicture}(5,5)
\psset{fillstyle=solid,framearc=.3}
\psframebox[fillcolor=red]{\textcolor{white}{TEST}}
\psframebox[fillcolor=green!50!red]{\textcolor{white}{TEST}}
\psframebox[fillcolor=black!50]{\textcolor{white}{TEST}}
\psframebox[fillcolor={rgb:red,1;green,2;blue,3}]{\textcolor{white}{TEST}}
\end{pspicture}
\end{document}

Here's a new style double circle
that can be supplied to a node. It takes two arguments, one for specifying how much larger the radius of the outer circle is (default is 2pt
), and the second for specifying the colour (or any combination of options, really) of the inner circle (default is blue
).
If you specify a node name, this will refer to the outer node (thanks to Andrew Stacey for the suggestion).
\node (A) [double circle, draw=red] {b};
\node (B) at (2,0) [draw, double circle={-2pt}{orange}] {ABC};
\draw (A) -- (B);
will give you

\documentclass[border=4mm] {standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\tikzset{
old inner xsep/.estore in=\oldinnerxsep,
old inner ysep/.estore in=\oldinnerysep,
double circle/.style 2 args={
circle,
old inner xsep=\pgfkeysvalueof{/pgf/inner xsep},
old inner ysep=\pgfkeysvalueof{/pgf/inner ysep},
/pgf/inner xsep=\oldinnerxsep+#1,
/pgf/inner ysep=\oldinnerysep+#1,
alias=sourcenode,
append after command={
let \p1 = (sourcenode.center),
\p2 = (sourcenode.east),
\n1 = {\x2-\x1-#1-0.5*\pgflinewidth}
in
node [inner sep=0pt, draw, circle, minimum width=2*\n1,at=(\p1),#2] {}
}
},
double circle/.default={2pt}{blue}
}
\begin{tikzpicture}
\node (A) [double circle, draw=red] {b};
\node (B) at (2,0) [draw, double circle={-2pt}{orange}] {ABC};
\draw (A) -- (B);
\end{tikzpicture}%
%
\end{document}
Best Answer
text=...
your color.