Gradient filling with PSTricks

\documentclass{article}   
\usepackage{pst-grad,multido}   
\begin{document}

  \begin{pspicture}(-12ex,-3.5ex)(12ex,3.5ex)
  \pscustom[linestyle=none,fillstyle=gradient,gradangle=-90,
    gradbegin=orange!90!red,gradend=green!80!orange,
    gradmidpoint=0]{%
     \multido{\rA=-8+4}{5}{\pscircle(\rA ex,0){3ex}}}
  \rput(0,0){\large\textbf{Springboldene}}
  \end{pspicture}

\end{document}

enter image description here

and the same for a gradmidpoint=0.5

enter image description here

enter image description here


Here's how you can do it using TikZ: The filling will stretch over all circles as long as they're specified using a single \path (or \shade) command

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\shade [left color=orange!90!red, right color=green!80!orange]
    \foreach \i in {-2,...,2}{
     (\i*3.5ex,0) circle [radius=2.5ex]
};
\node [font=\bfseries] (A) {Springboldene};
\end{tikzpicture}

\end{document}

My code seems to be verbose but the extra code is actually to get the precise dimension and placement. It also make you more convenient to adjust the parameters.

enter image description here

\documentclass[pstricks,border=0pt]{standalone}
\usepackage{multido}
\usepackage{pst-grad}
\usepackage[nomessages]{fp}


\newpsstyle{A}
{
    fillstyle=gradient,
    gradbegin=red,
    gradend=yellow,
    gradangle=30,
    gradmidpoint=0.5,
}

\psset{linestyle=none}


\def\greeting{Springboldene}
\def\hoffset{5pt}
\def\voffset{5pt}



\newsavebox\IBox
\savebox\IBox{\raisebox{\depth}{\greeting}}

\newlength\Left
\newlength\Right
\newlength\Top
\newlength\Bottom


\Left=\dimexpr-0.5\wd\IBox-\hoffset
\Right=\dimexpr0.5\wd\IBox+\hoffset
\Top=\dimexpr0.5\ht\IBox+\voffset
\Bottom=\dimexpr-0.5\ht\IBox-\voffset

% for circles
\FPset\a{-27.00}
\FPset\b{27.00}
\FPset\N{7}
\FPeval\step{round((b-a)/N:2)}
\FPeval\NplusOne{N+1}

\begin{document}
\begin{pspicture}(\Left,\Bottom)(\Right,\Top)
  \psclip{\pscustom{\multido{\nx=\a+\step}{\NplusOne}{\pscircle(\nx pt,0){8pt}}}}
      \psframe[style=A](\Left,\Bottom)(\Right,\Top) 
    \endpsclip
    \rput(0,0){\usebox\IBox}
  \end{pspicture}
\end{document}