Hi Fabrice
Thank you for your reply. It works the way I wanted. Wolfgang
also replied and this has lead me to an alternative method. See my
reply to him in this mailing list.
Best Wishes
Keith
Sorry, I was a little too enthusiastic, here here is the code :
Le 28 avr. 2022 à 08:41, Fabrice L <fabrice.alpha@gmail.com> a écrit :
Hi Keith,
Le 28 avr. 2022 à 06:05, Keith McKay via ntg-context <ntg-context@ntg.nl> a écrit :
Hi,
In the MWE below I define an rgb colour, myColor1, using random numbers for the r, g and b components. I then use it to fill a unitsquare the size of the page, which works as expected. In the loop that follows I then use the defined colour, myColor1, along with white and the variable r to create shades of myColor1 as in the MWE below. However, myColor1 is not recognised in the loop and seems to be replaced by black, although if I use a predefined colour, in this case BurntSienna from the crayola collection, it works as expected. I have tried a number of ways to get this to work as shown in the code but without success. I would be grateful for any suggestions.
Best Wishes
Keith McKay
%%%%%%%%%%%%%%%%%%%%MWE%%%%%%%%%%%%%\setuppapersize[A4,portrait]\usecolors[crayola]\starttext\dorecurse{10}{\startMPpageStartPage;\definecolor[name="myColor1", r = uniformdeviate(1), g = uniformdeviate(1), b = uniformdeviate(1) ] ;fill unitsquare xscaled PaperWidth yscaled PaperHeight withcolor "myColor1";for i =2 step 2 until 10:r := i/10;fill unitsquare xscaled 5cm yscaled .5cm shifted (1cm,i*cm) withcolor(r[\MPcolor{BurntSienna},white]);fill unitsquare xscaled 5cm yscaled .5cm shifted (7cm,i*cm) withcolor(r[\MPcolor{myColor1}, white]);fill unitsquare xscaled 5cm yscaled .5cm shifted (13cm,i*cm) withcolor(r[\MPcolor{"myColor1"}, white]);%fill unitsquare xscaled 5cm yscaled .5cm shifted (13cm,i*cm) withcolor(r[myColor1 , white]); This line causes an error.endfor;StopPage;\stopMPpage}
\stoptext%%%%%%%%%%%%%%%%%%%%%%%%%%%end MWE%%%%%%%%%%%Here is a solution, with works here, defining in another way the color « myColor »:
\setuppapersize[A4,portrait]\usecolors[crayola]\starttext\dorecurse{2}{\startMPpageStartPage;color myColor ;myColor := (uniformdeviate(1),uniformdeviate(1),uniformdeviate(1));fill unitsquare xscaled PaperWidth yscaled PaperHeight withcolor myColor;for i =2 step 2 until 10:r := i/10;fill unitsquare xscaled 5cm yscaled .5cm shifted (1cm,i*cm) withcolor(r[\MPcolor{BurntSienna},white]);fill unitsquare xscaled 5cm yscaled .5cm shifted (7cm,i*cm) withcolor(r[\MPcolor{myColor1}, white]);fill unitsquare xscaled 5cm yscaled .5cm shifted (13cm,i*cm) withcolor(r[\MPcolor{"myColor1"}, white]);%fill unitsquare xscaled 5cm yscaled .5cm shifted (13cm,i*cm) withcolor(r[myColor1 , white]); This line causes an error.endfor;StopPage;\stopMPpage}
\stoptext
I forgot to remove « myColor1 » from the others parts of the code.\setuppapersize[A4,portrait]\usecolors[crayola]\starttext\dorecurse{10}{\startMPpageStartPage;color myColor ;myColor := (uniformdeviate(1),uniformdeviate(1),uniformdeviate(1));fill unitsquare xscaled PaperWidth yscaled PaperHeight withcolor myColor;for i =2 step 2 until 10:r := i/10;fill unitsquare xscaled 5cm yscaled .5cm shifted (1cm,i*cm) withcolor(r[\MPcolor{BurntSienna},white]);fill unitsquare xscaled 5cm yscaled .5cm shifted (7cm,i*cm) withcolor(r[myColor, white]);fill unitsquare xscaled 5cm yscaled .5cm shifted (13cm,i*cm) withcolor(r[myColor, white]);%fill unitsquare xscaled 5cm yscaled .5cm shifted (13cm,i*cm) withcolor(r[myColor1 , white]); This line causes an error.endfor;StopPage;\stopMPpage}
\stoptext
Fabrice.___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________