blob: 0b9250895b5437b2d1b0ed141799e9c958272eb2 [file] [log] [blame]
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN"
"http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd">
<!-- ========================================================================= -->
<!-- Copyright (C) The Apache Software Foundation. All rights reserved. -->
<!-- -->
<!-- This software is published under the terms of the Apache Software License -->
<!-- version 1.1, a copy of which has been included with this distribution in -->
<!-- the LICENSE file. -->
<!-- ========================================================================= -->
<!-- ========================================================================= -->
<!-- Test description here -->
<!-- -->
<!-- @author vincent.hardy@eng.sun.com -->
<!-- @version $Id$ -->
<!-- ========================================================================= -->
<?xml-stylesheet type="text/css" href="test.css" ?>
<svg id="body" width="450" height="500" viewBox="0 0 450 500">
<title>Filter Effect: feComponentTransfer (2)</title>
<!-- ============================================================= -->
<!-- Test content -->
<!-- ============================================================= -->
<g id="testContent">
<g>
<text x="225" y="40" class="title">
Filter Effect: feComponentTransfer (2)
</text>
<g transform="translate(30,62.5)">
<defs>
<filter id="turbSource" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
</filter>
<filter id="tableIdentity" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
<feComponentTransfer filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%" >
<feFuncR type="table" tableValues="0 1" />
<feFuncG type="table" tableValues="0 1" />
<feFuncB type="table" tableValues="0 1" />
<feFuncA type="table" tableValues="0 1" />
</feComponentTransfer>
</filter>
<filter id="tableInvertRGB" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
<feComponentTransfer filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%" >
<feFuncR type="table" tableValues="1 0" />
<feFuncG type="table" tableValues="1 0" />
<feFuncB type="table" tableValues="1 0" />
<feFuncA type="linear" slope="0" intercept="1" />
</feComponentTransfer>
</filter>
<filter id="tableBlueGreenTint" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
<feColorMatrix type="luminanceToAlpha" />
<feColorMatrix type="matrix" values="0 0 0 -1 1 0 0 0 -1 1 0 0 0 -1 1 0 0 0 0 1" />
<feComponentTransfer filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%" >
<feFuncR type="table" tableValues="0 0 0 .2 1" />
<feFuncG type="table" tableValues="0 0 .3 .9 1" />
<feFuncB type="table" tableValues="0 .3 .6 .9 1" />
<feFuncA type="linear" slope="1" intercept="0" />
</feComponentTransfer>
</filter>
<filter id="tableRedOrangeTint" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
<feColorMatrix type="luminanceToAlpha" />
<feColorMatrix type="matrix" values="0 0 0 -1 1 0 0 0 -1 1 0 0 0 -1 1 0 0 0 0 1" />
<feComponentTransfer filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%" >
<feFuncR type="table" tableValues="0 .3 .6 .9 1" />
<feFuncG type="table" tableValues="0 0 .3 .9 1" />
<feFuncB type="table" tableValues="0 0 0 0 1" />
<feFuncA type="linear" slope="1" intercept="0" />
</feComponentTransfer>
</filter>
<filter id="tableRedOrangeTint" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
<feColorMatrix type="luminanceToAlpha" />
<feColorMatrix type="matrix" values="0 0 0 -1 1 0 0 0 -1 1 0 0 0 -1 1 0 0 0 0 1" />
<feComponentTransfer filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%" >
<feFuncR type="table" tableValues="0 .3 .6 .9 1" />
<feFuncG type="table" tableValues="0 0 .3 .9 1" />
<feFuncB type="table" tableValues="0 0 0 0 1" />
<feFuncA type="linear" slope="1" intercept="0" />
</feComponentTransfer>
</filter>
<filter id="tableGreenGreenTint" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
<feColorMatrix type="luminanceToAlpha" />
<feColorMatrix type="matrix" values="0 0 0 -1 1 0 0 0 -1 1 0 0 0 -1 1 0 0 0 0 1" />
<feComponentTransfer filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%" >
<feFuncR type="table" tableValues="0 0 0 .6 1" />
<feFuncG type="table" tableValues="0 .15 .5 .9 1" />
<feFuncB type="table" tableValues="0 0 0 .6 1" />
<feFuncA type="linear" slope="1" intercept="0" />
</feComponentTransfer>
</filter>
<filter id="discreteYellowRed" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
<feColorMatrix type="luminanceToAlpha" />
<feColorMatrix type="matrix" values="0 0 0 -1 1 0 0 0 -1 1 0 0 0 -1 1 0 0 0 0 1" />
<feComponentTransfer filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%" >
<feFuncR type="discrete" tableValues="1 1" />
<feFuncG type="discrete" tableValues="1 0" />
<feFuncB type="discrete" tableValues="0 0" />
</feComponentTransfer>
</filter>
<filter id="discreteYellowOrangeRed" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
<feColorMatrix type="luminanceToAlpha" />
<feColorMatrix type="matrix" values="0 0 0 -1 1 0 0 0 -1 1 0 0 0 -1 1 0 0 0 0 1" />
<feComponentTransfer filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%" >
<feFuncR type="discrete" tableValues="1 1 1 .5" />
<feFuncG type="discrete" tableValues="1 1 .5 0" />
<feFuncB type="discrete" tableValues="1 0 0 0" />
</feComponentTransfer>
</filter>
<filter id="gamma" filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="turbulence" baseFrequency="0.05" numOctaves="2"/>
<feComponentTransfer filterUnits="objectBoundingBox"
x="0%" y="0%" width="100%" height="100%" >
<feFuncR type="gamma" amplitude="1" exponent="2.4" offset="0"/>
<feFuncG type="gamma" amplitude="1" exponent="2.4" offset="0"/>
<feFuncB type="gamma" amplitude="1" exponent="2.4" offset="0"/>
<feFuncA type="linear" slope="1" intercept="0" />
</feComponentTransfer>
</filter>
</defs>
<g class="legend">
<g id="reference_Group">
<rect x="25" y="25" width="100" height="75" style="filter:url(#turbSource)" />
<text x="75" y="117">Reference Image</text>
</g>
<g id="tableIdentity_Group" transform="translate(120, 0)">
<rect x="25" y="25" width="100" height="75" style="filter:url(#tableIdentity)" />
<text x="75" y="117">type=table</text>
<text x="75" y="129">Identity tables (0 1)</text>
</g>
<g id="tableInvertRGB_Group" transform="translate(240, 0)">
<rect x="25" y="25" width="100" height="75" style="filter:url(#tableInvertRGB)" />
<text x="75" y="117">type=table</text>
<text x="75" y="129">Invert RGB (1 0)</text>
</g>
<g id="tableBlueGreenTint_Group" transform="translate(0, 120)">
<rect x="25" y="25" width="100" height="75" style="filter:url(#tableBlueGreenTint)" />
<text x="75" y="117">type=table</text>
<text x="75" y="129">darkBlue-cyan</text>
</g>
<g id="tableRedOrangeTint_Group" transform="translate(120, 120)">
<rect x="25" y="25" width="100" height="75" style="filter:url(#tableRedOrangeTint)" />
<text x="75" y="117">type=table</text>
<text x="75" y="129">darkRed-orange</text>
</g>
<g id="tableGreenGreenTint_Group" transform="translate(240, 120)">
<rect x="25" y="25" width="100" height="75" style="filter:url(#tableGreenGreenTint)" />
<text x="75" y="117">type=table</text>
<text x="75" y="129">darkGreen-green</text>
</g>
<g id="discreteYellowRed_Group" transform="translate(0, 240)">
<rect x="25" y="25" width="100" height="75" style="filter:url(#discreteYellowRed)" />
<text x="75" y="117">type=discrete</text>
<text x="75" y="129">yellow-red</text>
</g>
<g id="discreteYellowOrangeRed_Group" transform="translate(120, 240)">
<rect x="25" y="25" width="100" height="75" style="filter:url(#discreteYellowOrangeRed)" />
<text x="75" y="117">type=discrete</text>
<text x="75" y="129">White-Yellow-Orange-Red</text>
</g>
<g id="gamma_Group" transform="translate(240, 240)">
<rect x="25" y="25" width="100" height="75" style="filter:url(#gamma)" />
<text x="75" y="117">type=gamma</text>
<text x="75" y="129">exponent (2.4) </text>
<text x="75" y="141">offset (0) amplitude (1)</text>
</g>
</g>
</g>
</g>
</g>
<!-- ============================================================= -->
<!-- Batik sample mark -->
<!-- ============================================================= -->
<use xlink:href="../batikLogo.svg#Batik_Tag_Box" />
</svg>