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
-----------------------------------------------------------------
___________________________________________________________________________________
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://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to