Knippen en maskeren is een functie van SVG die gedeelten van een object geheel of gedeeltelijk kan verbergen door het gebruik van eenvoudige of complexe vormen. In de loop van de jaren hebben vele ontwikkelaars deze vaardigheden genomen en ze in verschillende richtingen geduwd. In dit artikel zullen we enkele geavanceerde methoden bekijken, samen met demo's die het knippen en maskeren met groot effect presenteren. Laten we beginnen!
Laten we eerst deze vraag beantwoorden: wat is het verschil tussen knippen en maskeren? We gaan een kijkje nemen in elk om een beter begrip te krijgen. Houd er rekening mee dat, hoewel de meeste functies die in de specificatie worden beschreven, vandaag werken, sommige niet werken. Controleer altijd caniuse en uw eigen tests in de browser.
Een uitknippad is een object waarbij alles binnen de gedefinieerde vorm zichtbaar is, terwijl het buitenste gedeelte is "uitgeknipt" en niet op het canvas verschijnt
In de voorbeeldafbeelding hierboven is onze vorm (het Envato-logo) het object dat we zullen gebruiken als ons clippad-object. Het resultaat is uitgesneden van de effen achtergrond waardoor er slechts een harde vorm overblijft in de vorm van ons "knipgebied".
Hier nemen we een grafisch object of een vorm die op de achtergrond wordt geschilderd door een masker, waardoor delen van het object geheel of gedeeltelijk worden gemaskeerd.
Denk aan maskers als een manier om het zichtbare gebied te accepteren dat al is gedefinieerd door de vorm van een object. In dit scenario is ons masker het object dat we willen "extraheren" uit onze effen achtergrondkleur. Het resultaat is een vorm die identiek is aan ons masker (dat wil zeggen de effen zwarte vorm).
Nog steeds verward over het verschil? Er is een heel subtiel onderscheid tussen deze twee soorten opties. Beschouw een uitknippad als een "hard masker" waarbij het verwijderde uitknipobject een vorm is zonder doorzichtige of ondoorzichtige pixels. Een masker bestaat uit een vorm of afbeelding waarbij elke pixel verschillende graden van transparantie en ondoorzichtigheid heeft die doorheen kunnen turen of delen op een zeer subtiele manier kunnen verbergen.
Laten we nu enkele elementen en attributen bespreken die het knippen en maskeren in SVG mogelijk maken.
Een SVG clipPath
accepteert veel kenmerken en inhoudsmodeltypen. De soorten geaccepteerde inhoudsmodellen zijn die zoals titel
, en Omschrijving
samen met andere soorten metadatatags. Het accepteert ook SMIL-animatietags zoals
,
, SVG-vormen (cirkel
, rect
, veelhoek
, pad
) inclusief
, ,
stijl
, en >