On Wed, 2 May 2012 21:42:24 +0200
Marco
On 2012-05-02 Alan BRASLAU
wrote: For example, in the minimal example below, how can one obtain a transparent arrow without getting an X-ray vision of the arrowhead?
Maybe I'm reinventing the wheel here, but you can write a small macro that only draws the lines you want. Here is an idea:
\starttext \startMPpage
linecap := squared; penscale := .5bp; pickup pencircle scaled penscale;
def drawmyarrow expr p = _apth:=p; _myfinarr enddef; def _myfinarr text t = draw _apth cutafter point (-ahlength+.1penscale) on _apth t; fill arrowhead _apth t enddef;
drawarrow origin -- (1cm,0) withtransparency(1,.5) ; drawarrow origin -- (0,1cm) withtransparency(1,.5) ; drawmyarrow (1.5cm,0) -- (2.5cm,0) withtransparency(1,.5) ; drawmyarrow (1.5cm,0) -- (1.5cm,1cm) withtransparency(1,.5) ;
\stopMPpage \stoptext
The (-ahlength+.1penscale) are of course empiric. You should find the correct formula to always have a nice match of line and arrow whatever ahlength and ahangle values are in use.
Marco
Yes, this is somewhat reinventing the wheel. I believe that this is somewhat a bug with transparency under MetaFun. For I tried the following: \startMPcode picture pic ; pic := image(drawarrow origin--(1cm,0)) ; draw pic withtransparency(1,.5) ; draw pic rotated 90 withtransparency(1,.5) ; \stopMPcode Here, the arrowhead is totally opaque and only the "stem" has transparency. Something is fishy. Alan