Παράλληλες Μεταβάσεις SVG
- Προηγούμενη Σελίδα Σκιά SVG
- Επόμενη Σελίδα Παράλληλες Μεταβάσεις SVG
<defs> και <filter>
Όλα τα SVG φίλτρα βρίσκονται <defs>
στοιχεία.<defs>
ορισμένοι στοιχεία.
Το στοιχείο χρησιμοποιείται για τη διάφωνη ορισμό SVG φίλτρα.
Το στοιχείο είναι η συντομευση για ορισμό (definitions) που περιέχει ορισμούς για ειδικά στοιχεία (π.χ. φίλτρα).Το στοιχείο χρησιμοποιείται για τη διάφωνη ορισμό SVG φίλτρα.
<filter>
Το στοιχείο SVG <feOffset> έχει μια υποχρεωτική ιδιότητα id για την ταυτότητα του φίλτρου. Στη συνέχεια, το σχήμα θα δείχνει στο φίλτρο που θα χρησιμοποιηθεί.
Παράδειγμα 1
<feOffset>
Το στοιχείο χρησιμοποιείται για τη δημιουργία σκιών. Η ιδέα είναι: Πρώτα να πάρουμε ένα σχήμα SVG (εικόνα ή στοιχείο), και στη συνέχεια να το μετακινήσουμε略微 στην επίπεδο xy.
Ο πρώτος παράδειγμα αποκλίνει ένα τετράγωνο (χρησιμοποιώντας <feOffset>
),τότε συνδυάζετε την αρχική εικόνα με την εικόνα αποκλίσης στην κορυφή της (χρησιμοποιώντας <feBlend>
):
Αυτό είναι ο κώδικας SVG:
<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>
Απλή εξήγηση κώδικα:
- Η ιδιότητα id του στοιχείου <filter> καθορίζει το μοναδικό όνομα του φίλτρου
- <rect> η ιδιότητα filter συνδέει το στοιχείο με τον φίλτρο "f1"
Παράδειγμα 2
Τώρα, μπορείτε να σκοτεινάσετε την εικόνα με αποκλίση (χρησιμοποιώντας <feGaussianBlur>
):
Αυτό είναι ο κώδικας SVG:
<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>
Απλή εξήγηση κώδικα:
- Το στοιχείο <feGaussianBlur> έχει την ιδιότητα stdDeviation που καθορίζει το βαθμό διαφάνειας
Παράδειγμα 3
Τώρα, ρυθμίστε τη σκιά σε μαύρο:
Αυτό είναι ο κώδικας SVG:
<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>
Απλή εξήγηση κώδικα:
- <feOffset> ο στοιχείο in ιδιότητα αλλαγμένη σε "SourceAlpha", χρησιμοποιεί τη σύνθετη γκάμα του RGBA για το φύλλωμα
Παράδειγμα 4
Τώρα, μετατρέψτε τη σκιά σε ένα χρώμα:
Αυτό είναι ο κώδικας SVG:
<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>
Απλή εξήγηση κώδικα:
- <feColorMatrix> ο φίλτρο χρησιμοποιείται για να μετατρέψει τα χρώματα της μετατοπισμένης εικόνας σε πιο κοντά στο μαύρο. Οι τρεις τιμές '0.2' στο μητρώο πολλαπλασιάζονται με τους καναλιούς κόκκινου, πράσινου και μπλε. Η μείωση των τιμών τους κάνει τα χρώματα πιο κοντά στο μαύρο (μαύρο είναι 0)
- Προηγούμενη Σελίδα Σκιά SVG
- Επόμενη Σελίδα Παράλληλες Μεταβάσεις SVG