[cairo] Premultiplied transparency causes streaks in images

M Joonas Pihlaja jpihlaja at cc.helsinki.fi
Fri Nov 12 12:09:26 PST 2010

On Fri, 12 Nov 2010, Bill Spitzak wrote:

> The real solution is to somehow figure out the exact antialiasing of the
> entire brush stroke. I think modern programs just do this by making a much
> bigger "stroke buffer" where the a much larger aliased brush draws opaque,

If you could composite the brush using MIN() on the alpha component,
then you could generate a mask that preserves the antialiasing
reasonably but afaict, there's no easy way to do this using pure cairo
calls.  Andrea Canciani suggested using the new DARKEN operator to
create a greyscale version of the mask (implements MIN() on the colour
components, but sadly not alpha) and then converting that to an A8


More information about the cairo mailing list