SVG lineaariset aste-asteet
- Edellinen sivu SVG hämärtäminen
- Seuraava sivu SVG lineaariset aste-asteet
Kurssivihje:
<defs> ja <filter> <defs>
Kaikki SVG-suodattimet ovat<defs>
elementissä määritetty.
Elementti määrittää SVG-suodattimet.
Elementti on (definitions) -sanan lyhenne, joka sisältää erityisten elementtien (kuten suodattimien) määrittelyt.Elementti määrittää SVG-suodattimet.
<filter>
SVG <feOffset>-elementti omaa pakollisen id-ominaisuuden, joka tunnistaa suodattimen. Sitten kuva viittaa käytettävään suodattimeen.
Esimerkki 1
Elementti käytetään varjoeffektien luomiseen. Ajatus on: ensin otetaan SVG-kuva (kuva tai elementti), ja sitten siirretään sitä hieman xy-avaruudessa.
Ensimmäisessä esimerkissä kohdistettiin suorakulmio (käyttämällä ,
<feBlend>
):
Tämä on SVG-koodi:
<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="keltainen" filter="url(#f1)" /> </svg>
Koodin selitys:
- <filter> -elementin id-ominaisuus määrittää suodattimen yksilöllisen nimen
- <rect> -elementin filter-ominaisuus liittää kyseisen elementin "f1"-suodattimeen
Esimerkki 2
Nyt voidaan häivyttää kuvaa epäsuorasti (käyttämällä <feGaussianBlur>
):
Tämä on SVG-koodi:
<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="keltainen" filter="url(#f2)" /> </svg>
Koodin selitys:
- Elementin <feGaussianBlur> stdDeviation-ominaisuus määrittää häivytyksen määrän
Esimerkki 3
Nyt aseta varjo mustaksi:
Tämä on SVG-koodi:
<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>
Koodin selitys:
- <feOffset> -elementin in-ominaisuus muutetaan "SourceAlpha":ksi, joka käyttää Alpha-kanavaa eikä koko RGBA-piirsirouhautta sumennukseen
Esimerkki 4
Nyt käsittele varjo yhdeksi väriksi:
Tämä on SVG-koodi:
<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>
Koodin selitys:
- <feColorMatrix> Värijäsen, joka käytetään muuntamaan etäisessä kuvassa olevia värejä lähemmäs mustaa. Matrisen kolme '0.2' -arvoa kertovat punainen, vihreä ja sininen kanavat. Arvojen vähentäminen tekee väreistä lähemmäs mustaa (musta on 0)
- Edellinen sivu SVG hämärtäminen
- Seuraava sivu SVG lineaariset aste-asteet