[NTG-context] drawarrow and transparency
alan.braslau at cea.fr
Thu May 3 12:32:47 CEST 2012
On Wed, 2 May 2012 21:42:24 +0200
Marco <netuse at lavabit.com> wrote:
> On 2012-05-02 Alan BRASLAU <alan.braslau at cea.fr> 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:
> 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
> 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) ;
> 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.
Yes, this is somewhat reinventing the wheel.
I believe that this is somewhat a bug with transparency under MetaFun.
For I tried the following:
picture pic ; pic := image(drawarrow origin--(1cm,0)) ;
draw pic withtransparency(1,.5) ;
draw pic rotated 90 withtransparency(1,.5) ;
Here, the arrowhead is totally opaque and only the "stem"
has transparency. Something is fishy.
More information about the ntg-context