SVG Blending modes

Playing with Sketch, I’ve noticed there are some nice blending effects available - e.g. “Color Burn”, “Hard/Soft Light” etc. I also noticed that the JUCE SVG parser does not support these modes. Are there any plans to do so, or workarounds to be able to utilise different blends. I realise the SVG parser does not support full spec SVG rendering.

2 Likes

I’ve seen this requested before…

1 Like

+1

Just got SVGs from our designer that make use of blending modes…

Blending modes, not only for svg, for all graphic operations in general, would be indeed great!

Very unlikely that we’ll be able to add this in the foreseeable future, I’m afraid - it’d take weeks of work to add support for these modes to all the rendering engines (and may not even be possible in some of them)

For SVGs specifically it could, when these modes are used, render to images and apply the blending modes only between those images, without touching the various rendering engines.

Well sure, but that’d be a huge performance hit, and would still involve an awful lot of work to implement.

I think that most users would prefer an SVG engine that is complete but slow in some cases than one that renders wrong. When the rendering is too slow they can often work around it easily, for example by using Component::setBufferedToImage (true). It’s nice to be able to easily make a GUI with the assets provided by the designer and optimise it later.

1 Like

I do agree. TBH I’d love to be able to spend a few months writing a new new SVG engine :slight_smile: However we just don’t have the bandwidth right now!

6 Likes

I find myself in the same predicament. Use png and you increase RAM, but your UI looks amazing with all types of effects. Use SVG and save RAM, but limited to the prettiness of the blending, and shadowing. I too use Sketch and have been able to make some great UIs, but the SVG is so limited that it completely takes the luster out of the UI.

Probably the same blending modes