Hi all,
I've been doing some testing to see if bytemaps can be overwritten as a
way of reusing them and came up with the code below. The MPpage page 1
should, if my thinking is correct, give three unitsquares coloured red,
blue, and green. However it seems the squares are all coloured green. To
get what I expected I rewrote the code as in MPpage page 2, but to get
the desired outcome I had to create 3 bytemaps. So, does this mean that
bytemaps can't be overwritten, or am I missing something?
Best Wishes
Keith
\starttext
\startMPpage %page 1
color newColor;
newbytemap 1 of (250,250,3);
p := 0;
for i = 1 upto 3:
for x := 0 upto 249:
for y := 0 upto 249:
if i = 1:
newColor := \MPcolor{red};
elseif i = 2:
newColor := \MPcolor{blue};
else:
newColor := \MPcolor{green};
fi;
setbyte (x,y) of 1 to (newColor * 255);
endfor;
endfor;
p := p + 259;
fill
unitsquare scaled 250 shifted(p - 259,0)
withbytemap 1;
endfor;
\stopMPpage
\startMPpage%page 2
color newColor;
p := 0;
for i = 1 upto 3:
newbytemap i of (250,250,3);
for x := 0 upto 249:
for y := 0 upto 249:
if i = 1:
newColor := \MPcolor{red};
elseif i = 2:
newColor := \MPcolor{blue};
else:
newColor := \MPcolor{green};
fi;
setbyte (x,y) of i to (newColor * 255);
endfor;
endfor;
p := p + 259;
fill
unitsquare scaled 250 shifted(p - 259,0)
withbytemap i;
endfor;
\stopMPpage
\stoptext
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________