[cairo] blurring filter

Leon Woestenberg leon.woestenberg at gmail.com
Fri Nov 30 05:35:50 PST 2007


I see some people struggling with blurring, like myself a few weeks back.

*Only* for image type surfaces, I came up with an implementation,
which does a modify-in-place blur
with memory requirements that scale O(N) with the blur filter kernel size.

I have variations hereof that perform vertical blurring, and/or take a
dynamically sized Gaussian kernel filter.

I have extracted them from my project and put them online here:


with an example output here:




@note that the code comment about "blurring the blue to alpha channel"
is obsolete. It was an early
hack to do an in-place blur for my application.

I still consider my approach to be a hack around missing functionality
in pixman and/or cairo, but I recon
the cairo guys are headed for a much more generic implementation that
is surface type independent?

More information about the cairo mailing list