[NTG-context] drawarrow and transparency
indiego at gmx.net
Thu May 3 16:09:35 CEST 2012
Am 03.05.2012 12:32, schrieb Alan BRASLAU:
> 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
>> 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)) ;
isn't 'image()' a fixed graphic? the only difference from normal drawing
is, that the stuff is not added to 'currentpicture'. think of it more
like a stamp, that is used to create identical copies.
anyhow, it's probably better and cleaner to use a macro here...
> 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.
what you want (if i understand you right) is a non-isolated 'knockout
group'. see 'PLATE 17'**, page 1147, in the pdf reference 1.7 for an
currently no grouping (objects are in the same transparency group) is
supported in metafun.
the only possible way to create such a graphic is to use the tikz module
(search for 'transparency group' in the tikz manual).
hope that helps,
** the complete graphic is a fake, because all of its parts are opaque,
pixel based graphics; not a single vector graphic, no transparency at
all! what a joke :-D
maybe adobe doesn't trust other (or their own) pdf viewers to show the
More information about the ntg-context