1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <!DOCTYPE svg PUBLIC
"-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">
3 <svg xmlns=
"http://www.w3.org/2000/svg" xmlns:
xlink=
"http://www.w3.org/1999/xlink" id=
"svg-root" width=
"100%" height=
"100%" viewBox=
"0 0 480 360" version=
"1.1" baseProfile=
"basic">
4 <title id=
"test-title">feComponentTransfer Test - Linear
</title>
5 <desc id=
"test-desc">feComponentTransfer tests.
</desc>
6 <g id=
"test-body-content">
7 <svg version=
"1.1" xmlns=
"http://www.w3.org/2000/svg" xmlns:
xlink=
"http://www.w3.org/1999/xlink" x=
"15" y=
"5" width=
"450" height=
"300" viewBox=
"0 0 650 420">
9 <linearGradient id=
"MyGradient" gradientUnits=
"userSpaceOnUse" x1=
"10" y1=
"0" x2=
"590" y2=
"0">
10 <stop offset=
"0" stop-color=
"#00ff00"/>
11 <stop offset=
"1" stop-color=
"#000000"/>
13 <filter id=
"Identity" filterUnits=
"objectBoundingBox" x=
"0%" y=
"0%" width=
"100%" height=
"100%">
15 <feFuncR type=
"identity"/>
16 </feComponentTransfer>
18 <filter id=
"DiscreteBlank" filterUnits=
"objectBoundingBox" x=
"0%" y=
"0%" width=
"100%" height=
"100%">
20 <feFuncG type=
"linear" slope=
"1" intercept=
"0.0"/>
21 </feComponentTransfer>
23 <filter id=
"DiscreteFull" filterUnits=
"objectBoundingBox" x=
"0%" y=
"0%" width=
"100%" height=
"100%">
25 <feFuncG type=
"linear" slope=
"-1" intercept=
"1.0"/>
26 </feComponentTransfer>
28 <filter id=
"DiscreteOrd" filterUnits=
"objectBoundingBox" x=
"0%" y=
"0%" width=
"100%" height=
"100%">
30 <feFuncG type=
"linear" slope=
"0.5" intercept=
"0.25"/>
31 </feComponentTransfer>
34 <rect fill=
"none" stroke=
"blue" x=
"1" y=
"1" width=
"648" height=
"418"/>
35 <g font-size=
"15" font-family=
"Verdana">
36 <rect fill=
"none" stroke=
"blue" x=
"1" y=
"1" width=
"648" height=
"418"/>
37 <rect x=
"20" y=
"10" width=
"580" height=
"40" fill=
"url(#MyGradient)" filter=
"url(#Identity)"/>
38 <text x=
"20" y=
"70">type: identity
</text>
39 <rect x=
"20" y=
"110" width=
"580" height=
"40" fill=
"url(#MyGradient)" filter=
"url(#DiscreteBlank)"/>
40 <text x=
"20" y=
"170">type: linear slope=
1 intercept=
0 -- Result should be identity
</text>
41 <rect x=
"20" y=
"210" width=
"580" height=
"40" fill=
"url(#MyGradient)" filter=
"url(#DiscreteFull)"/>
42 <text x=
"20" y=
"270">type: linear slope=-
1 intercept=
0 -- Should invert the gradient
</text>
43 <rect x=
"20" y=
"310" width=
"580" height=
"40" fill=
"url(#MyGradient)" filter=
"url(#DiscreteOrd)"/>
44 <text x=
"20" y=
"370">type: linear slope=
0.5 intercept=
0.25 -- Result should be less extreme gradient
</text>