[NTG-context] drawarrow and transparency
Peter Rolf
indiego at gmx.net
Thu May 3 16:09:35 CEST 2012
Hi Alan,
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
>>> 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)) ;
>
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) ;
> \stopMPcode
>
> Here, the arrowhead is totally opaque and only the "stem"
> has transparency. Something is fishy.
>
> Alan
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
example.
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,
Peter
** 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
right result!?
More information about the ntg-context
mailing list