Keyhole effect?

Bob Sneidar bobsneidar at
Wed Apr 15 19:55:46 EDT 2020

The Group thing is kind of how Illustrator used to create masks. Not sure anymore I’ve been out of Illustrator for years now. 

Bob S

> On Apr 15, 2020, at 12:02 PM, Richard Gaskin via use-livecode <use-livecode at> wrote:
> Whenever I fail to add, "...or seemingly so based on 22 years of experience in delivering applications with LiveCode, but of course notwithstanding the full scope of all possible things one might try given infinite time", please consider that implied. :)
> I'm not the first person to have work stopped on a feature when the older inks were removed.
> Monte's suggestion, and you your explanation, are very helpful.  I've passed them along to another developer I know who held up some of their own work when the method they'd been using was no longer available.
> The new inks are indeed quite good, and the group trick is a very helpful key to unlocking how to use them well. Thank you.
> > Just to explain why the group is necessary - if a group has the
> > 'blendSrcOver' ink applied then it becomes a 'transparency group'.
> >
> > This means it has its own alpha channel which can be affected by the
> > 'destination alpha modifying' porter-duff operations. So in this case:
> >
> >    1) The group is a transparency group so allocates its own
> > transparent buffer
> >    2) The image is composited into the buffer
> >    3) The mask is then composited into the buffer with the DstIn ink.
> > This means that the destination buffer alpha is adjusted so it is only
> > 'in' the mask (an analog of ANDing the buffers alpha channel with the
> > mask's alpha channel - indeed, previously I'm guessing you would have
> > done this using some sort of AND bitwise ink and being careful with
> > colors used).
> >    4) The buffer is then composited with the background.
> >
> > The transparency group thing is needed partly for efficiency and
> > partly because you can't remove alpha from an opaque destination
> > - which a window provides.
> >
> > Hope this helps!
> >
> > Mark.
> -- 
> Richard Gaskin

More information about the use-livecode mailing list