Ho creato un'ombra esterna in SVG utilizzando SourceAlpha
per l'ombra, quindi il suo nero semplice. Usando feColorMatrix
ho ridotto un po 'l'opacità, ma ancora non sembrava come volevo: voglio che il colore dell'ombra corrisponda a un valore di colore specifico. Così ho dato un'occhiata più approfondita allo feColorMatrix
.Corrispondenza di un colore in SVG con feColorMatrix
Ora non utilizzo SourceAlpha
come origine per l'ombra, ma SourceGraphic
. Come il mio immagine vettoriale è bianco normale aka rgba(255, 255, 255, 1)
, posso calcolare il colore dell'ombra così:
<feColorMatrix in="the-shadow" result="color-out" type="matrix"
values="0.0157 0 0 0 0
0 0.3059 0 0 0
0 0 0.7765 0 0
0 0 0 1 0 "/>
Il risultato dovrebbe essere l'ombra blu scuro aka rgba(4, 78, 198, 1)
.
In realtà questo funziona e credo che i calcoli siano tutti corretti, ma quando si crea un'ombra con CSS3 usando lo stesso colore, c'è una differenza notevole: il filtro SVG sembra rendere il colore un po 'troppo leggero. C'è un modo per risolverlo?
Buona idea, io non sapeva nemmeno su questo attributo, ma non cambia nulla ai miei occhi. – Sven
Wow che schifo, ma grazie per le informazioni! – Sven
Volevo solo dire che questo ha funzionato per me quando provavo ad usare feColorMatrix come colorante - impostando tutti gli in RGB su 0 e usando i quinti vals della colonna per impostare il colore. Sìì! – BoB3K