[NTG-context] drawarrow and transparency

Hans Hagen pragma at wxs.nl
Sat May 5 11:19:07 CEST 2012


On 2-5-2012 17:35, Alan BRASLAU wrote:
> I have a MetaPost question concerning drawarrow withtransparency
> (or any other compound object).
>
> Is there some clever way to achieve uniform transparency
> for a compound object? For example, in the minimal example
> below, how can one obtain a transparent arrow without getting
> an X-ray vision of the arrowhead?
>
> \starttext
> \startMPpage
> 	drawarrow origin--(1cm,0) withtransparency(1,.5) ;
> 	drawarrow origin--(0,1cm) withtransparency(1,.5) ;
> \stopMPpage
> \stoptext

This is a side effect of an arrow being a composed graphic. I 
experimented a bit with transparency grouping and after several variants 
I settled to the following approach:

\starttext

\startMPpage[offset=1mm]

     drawarrow (1cm,0cm) -- (0cm,0cm) withcolor red 
withtransparency(1,.5)  ;

     draw image (
         drawarrow (1cm,0cm) -- (0cm,0cm) withcolor red 
withtransparency(1,.5)  ;
     ) shifted (0,2mm) asgroup "" ;

     draw image (
         drawarrow (1cm,0cm) -- (0cm,0cm) withcolor red 
withtransparency(1,.5)  ;
     ) shifted (0,4mm) asgroup "isolated" ;

     draw image (
         drawarrow (1cm,0cm) -- (0cm,0cm) withcolor red 
withtransparency(1,.5)  ;
     ) shifted (0,6mm) asgroup "knockout" ;

     draw image (
         drawarrow (1cm,0cm) -- (0cm,0cm) withcolor red 
withtransparency(1,.5)  ;
     ) shifted (0,8mm) asgroup "isolated,knockout" ;

     addbackground withcolor green ;

\stopMPpage

\stoptext

As we have to use xforms (a pitty that this is needed) there is the 
usual interference and something fishy with clipping is going on.

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
     tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------


More information about the ntg-context mailing list