<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
And a very Happy New Year to you Herbert.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The code below throws 8 errors. Here's the first:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<blockquote style="margin-top:0;margin-bottom:0">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
! Undefined control sequence.
<div><argument>  10 dict begin [ \psgetColorValues </div>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
                                              {\ps@startColor } ] dup == alo..</div>
</blockquote>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I have the latest MikTeX installation. I'm a bit stumped.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
regards</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
rick<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
  <br>
</div>
<div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000"><b>From:</b> PSTricks <pstricks-bounces+hensh=math.msu.edu@tug.org> on behalf of Herbert Voss <Herbert.Voss@fu-berlin.de><br>
<b>Sent:</b> Thursday, December 23, 2021 6:43 AM<br>
<b>To:</b> Graphics with PSTricks <pstricks@tug.org><br>
<b>Subject:</b> [pstricks] colored lines</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">Hello all,<br>
<br>
merry christmas to all of you<br>
<br>
\documentclass{article}<br>
\usepackage{pstricks-add}<br>
\makeatletter<br>
\define@key[psset]{pstricks}{startColor}[black]{%<br>
   \colorlet{tempcolor}[rgb]{#1}%   we need rgb<br>
   \pst@getcolor{tempcolor}\ps@startColor}<br>
\define@key[psset]{pstricks}{endColor}[white]{%<br>
   \colorlet{tempcolor}[rgb]{#1}%<br>
   \pst@getcolor{tempcolor}\ps@endColor}<br>
\psset[pstricks]{startColor=black,endColor=white}<br>
<br>
\def\pscolorLine{\def\pst@par{}\pst@object{pscolorLine}}<br>
\def\pscolorLine@i{%<br>
   \pst@getarrows{%<br>
     \begin@OpenObj<br>
     \pscolorLine@ii}}<br>
<br>
\def\pscolorLine@ii(#1){\@ifnextchar({\pscolorLine@iii(#1)}{\pscolorLine@iii(0,0)(#1)}}%<br>
<br>
\def\pscolorLine@iii(#1,#2)(#3,#4){%<br>
   \use@par<br>
\ifx\psk@arrowA\@empty\else\psline[linecolor=\ps@startColor]{->}(!#3 0.5 <br>
mul #4 0.5 mul)(#1,#2)\fi<br>
\ifx\psk@arrowB\@empty\else\psline[linecolor=\ps@endColor]{->}(!#1 0.5 <br>
mul #2 0.5 mul)(#3,#4)\fi<br>
   \pst@getcoor{#1,#2}\pst@tempA<br>
   \pst@getcoor{#3,#4}\pst@tempB<br>
   \addto@pscode{<br>
     10 dict begin<br>
     [ \psgetColorValues{\ps@startColor} ] dup == aload length 1 eq { <br>
dup dup } if<br>
       3 copy 3 array astore /startColor ED<br>
     [ \psgetColorValues{\ps@endColor} ] dup == aload length 1 eq { dup <br>
dup } if<br>
       3 copy 3 array astore /endColor ED<br>
%   on stack R1 G1 B1 R2 G2 B2<br>
     4 -1 roll               % R1 G1 R2 G2 B2 B1<br>
     sub 256 div /dB ED      % R1 G1 R2 G2<br>
     3 -1 roll               % R1 R2 G2 G1<br>
     sub 256 div /dG ED      % R1 R2<br>
     exch sub 256 div /dR ED<br>
     \pst@tempB /Y2 ED /X2 ED<br>
     \pst@tempA /Y1 ED /X1 ED<br>
     Y2 Y1 sub X2 X1 sub atan /Angle ED<br>
     Y2 Y1 sub Angle sin dup 0 eq { pop }{ div } ifelse /L_line ED     % <br>
line length<br>
     \ifx\psk@arrowA\@empty\else<br>
       X2 X1 sub L_line div \psk@arrowlength\space mul <br>
\pst@number\psxunit mul X1 add /X1 ED<br>
       Y2 Y1 sub L_line div \psk@arrowlength\space mul <br>
\pst@number\psyunit mul Y1 add /Y1 ED<br>
      \fi<br>
     \ifx\psk@arrowB\@empty\else<br>
       X2 X1 sub L_line div \psk@arrowlength\space mul <br>
\pst@number\psxunit mul X2 exch sub /X2 ED<br>
       Y2 Y1 sub L_line div \psk@arrowlength\space mul <br>
\pst@number\psyunit mul Y2 exch sub /Y2 ED<br>
      \fi<br>
     Y2 Y1 sub 256 div /dY ED<br>
     X2 X1 sub 256 div /dX ED<br>
%    dR dG dB == == ==<br>
%startColor == endColor ==<br>
     \ifPst@noCurrentPoint\else\pst@cp\fi       % current point?<br>
     0 1 255 {<br>
       /dIndex ED<br>
%startColor ==<br>
       X1 Y1 moveto<br>
       X1 dX add  Y1 dY add % start for coordinate array<br>
       gsave<br>
       lineto<br>
       CP /Y1 ED /X1 ED<br>
       \pst@number\pslinewidth SLW<br>
       startColor aload pop 3 copy setrgbcolor<br>
       % on stack r g b<br>
       dB add 3 1 roll    % b+dB r g<br>
       dG add 3 1 roll    % b+dB g+dG r<br>
       dR add 3 1 roll    % b+dB g+dG r+dR<br>
       3 array astore /startColor ED<br>
       stroke<br>
       grestore<br>
     } for<br>
     end<br>
   }%<br>
   \end@OpenObj<br>
   \ignorespaces<br>
}<br>
<br>
\makeatother<br>
<br>
\begin{document}<br>
<br>
\begin{pspicture}[linewidth=12pt,showgrid](-5,-5)(5,5)<br>
\pscolorLine(0,-5)(0,5)<br>
\pscolorLine[startColor=cyan,endColor=magenta](-5,0)(5,0)<br>
\pscolorLine[startColor=blue,endColor=green]{->}(-5,5)(5,-5)<br>
\pscolorLine[startColor=red,endColor=blue]{<->}(-5,-5)(5,5)<br>
\end{pspicture}<br>
<br>
\end{document}<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>