SVG Lineaire Verloop
- Vorige Pagina SVG Vagueffecten
- Volgende Pagina SVG Lineaire Verloop
<defs> en <filter>
in de <defs>
Alles wat SVG-filters zijn<defs>
in de elementen.
Elementen worden gebruikt om SVG-filters te definiëren.
Element is een afkorting voor definities, dat definities van speciale elementen (zoals filters) bevat.Elementen worden gebruikt om SVG-filters te definiëren.
<filter>
SVG <feOffset>-element heeft een vereiste id-eigenschap die het filter identificeert. Vervolgens wijst de grafiek naar het te gebruiken filter.
Voorbeeld 1
<feOffset>
Elementen worden gebruikt om schaduw effecten te creëren. Het idee is: eerst een SVG-grafiek (beeld of element) verkrijgen, en deze een beetje verplaatsen in het xy-plan.
De eerste voorbeeld verplaatste een rechthoek (gebruik <feOffset>
),en voeg vervolgens het oorspronkelijke beeld toe aan het gedevagde beeld bovenaan (gebruik <feBlend>
):
Dit is de SVG-code:
<svg height="120" width="120"> <defs> <filter id="f1" x="0" y="0" width="200%" height="200%"> <feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" /> <feBlend in="SourceGraphic" in2="offOut" mode="normal" /> </filter> </defs> <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f1)" /> </svg>
Code uitleg:
- Het id-eigenschap van het <filter>-element definieert de unieke naam van het filter
- <rect>-element filter-eigenschap koppelt dit element aan het "f1"-filter
Voorbeeld 2
Nu kan je het afgebeeld beeld vervagen (gebruik <feGaussianBlur>
):
Dit is de SVG-code:
<svg height="140" width="140"> <defs> <filter id="f2" x="0" y="0" width="200%" height="200%"> <feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" /> <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" /> <feBlend in="SourceGraphic" in2="blurOut" mode="normal" /> </filter> </defs> <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f2)" /> </svg>
Code uitleg:
- Het stdDeviation-eigenschap van het <feGaussianBlur>-element definieert de hoeveelheid vervaging
Voorbeeld 3
Nu, zet de schaduw op zwart:
Dit is de SVG-code:
<svg height="140" width="140"> <defs> <filter id="f3" x="0" y="0" width="200%" height="200%"> <feOffset result="offOut" in="SourceAlpha" dx="20" dy="20" /> <feGaussianBlur result="blurOut" in="offOut" stdDeviation="10" /> <feBlend in="SourceGraphic" in2="blurOut" mode="normal" /> </filter> </defs> <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f3)" /> </svg>
Code uitleg:
- Het in-attribute van het <feOffset>-element wordt veranderd in "SourceAlpha", wat de Alpha-kanaal gebruikt in plaats van de hele RGBA-pixel voor het vervagen
Voorbeeld 4
Nu, behandel de schaduw als een kleur:
Dit is de SVG-code:
<svg height="140" width="140"> <defs> <filter id="f4" x="0" y="0" width="200%" height="200%"> <feOffset result="offOut" in="SourceGraphic" dx="20" dy="20" /> <feColorMatrix result="matrixOut" in="offOut" type="matrix" values="0.2 0 0 0 0 0 0.2 0 0 0 0 0 0.2 0 0 0 0 0 1 0" /> <feGaussianBlur result="blurOut" in="matrixOut" stdDeviation="10" /> <feBlend in="SourceGraphic" in2="blurOut" mode="normal" /> </filter> </defs> <rect width="90" height="90" stroke="green" stroke-width="3" fill="yellow" filter="url(#f4)" /> </svg>
Code uitleg:
- <feColorMatrix> Het filter wordt gebruikt om de kleuren in het verschoven beeld om te zetten naar een kleur die dichter bij zwart ligt. De drie '0.2'-waarden in de matrix worden vermenigvuldigd met de rode, groene en blauwe kanalen. Het verminderen van hun waarden maakt de kleuren dichter bij zwart (zwart is 0)
- Vorige Pagina SVG Vagueffecten
- Volgende Pagina SVG Lineaire Verloop