| <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%"> |
| <script> |
| <![CDATA[ |
| var blendModes = ["normal", "multiply", "screen", "darken", "lighten", "overlay", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"]; |
| var svgElement = document.rootElement; |
| var svgns = 'http://www.w3.org/2000/svg'; |
| for (var i = 0; i <= blendModes.length; i++) { |
| var filter = document.createElementNS(svgns, 'filter'); |
| filter.setAttribute('id', 'f'+i); |
| filter.setAttribute('x', '0%'); |
| filter.setAttribute('y', '0%'); |
| filter.setAttribute('width', '100%'); |
| filter.setAttribute('height', '100%'); |
| var floodA = document.createElementNS(svgns, 'feFlood'); |
| floodA.setAttribute('result', 'a'); |
| floodA.setAttribute('flood-color', 'rgb(255,0,0)'); |
| floodA.setAttribute('flood-opacity', '0.5'); |
| var floodB = document.createElementNS(svgns, 'feFlood'); |
| floodB.setAttribute('result', 'b'); |
| floodB.setAttribute('flood-color', 'rgb(0,255,0)'); |
| floodB.setAttribute('flood-opacity', '0.5'); |
| var blend = document.createElementNS(svgns, 'feBlend'); |
| blend.setAttribute('in', 'a'); |
| blend.setAttribute('in2', 'b'); |
| blend.setAttribute('mode', blendModes[i]); |
| filter.appendChild(floodA); |
| filter.appendChild(floodB); |
| filter.appendChild(blend); |
| svgElement.appendChild(filter); |
| var rect = document.createElementNS(svgns, 'rect'); |
| rect.setAttribute('x', (i%8)*50); |
| rect.setAttribute('y', (i > 8 ? 50: 0)); |
| rect.setAttribute('width', '50'); |
| rect.setAttribute('height', '50'); |
| rect.setAttribute('filter', 'url(#f'+i+')'); |
| svgElement.appendChild(rect); |
| }]]> |
| </script> |
| </svg> |