Coming from a graphic design background I know how to cheat to create an effect of additive color. The same basic solution is proposed in another post on here.
The post above refers to transparent .png
files but the concept is the same. The basic effect I'd like to create is like the one pictured here.
I'd love to do it in SVG so that it can scale and so that when I am talking about a given topic (let's just say the topic is 'green') I can enlarge that portion of the graphic and the overlapping areas would still display correctly.
These posts seem to get pretty close:
- Algorithm for Additive Color Mixing for RGB Values
- Question about "Additive blending" and "Hue replacement"
But none of the above deal with SVG so let me give it a whirl.
This version replaces an earlier version that wasn't truly cross-browser. I realized that I didn't need separate shapes for the various circles, I could clone, reposition and recolor the original shape within the filter.
Right now you can do this with SVG filters. Since your interest lies in mixing colors, you might be interested in researching the following filter primitives: feBlend, feComposite, feColorMatrix and feComponentTransfer.
If you want to learn the easy way (Inkscape) see this blogpost. I can also recommend reading the Inkscape book and in particular how to do custom filters. Here's one page showing feBlend with similar results as in your basic effect example.
Update: here's the relevant svg file from the inkscape book, it should look like the image below in browsers that support svg filters (and the
BackgroundImage
filter input, note that Gecko doesn't supportBackgroundImage
andenable-background
).