Цветовые матрицы не могут быть использованы для того, чтобы заставить вещи светиться другим цветом, только каким-то образом трансформировать существующий цвет.
Но вместо этого мы можем сделать что-то подобное ...
<filter id="white-glow">
<feFlood result="flood" flood-color="#ffffff" flood-opacity="1"></feFlood>
<feComposite in="flood" result="mask" in2="SourceGraphic" operator="in"></feComposite>
<feMorphology in="mask" result="dilated" operator="dilate" radius="2"></feMorphology>
<feGaussianBlur in="dilated" result="blurred" stdDeviation="5"></feGaussianBlur>
<feMerge>
<feMergeNode in="blurred"></feMergeNode>
<feMergeNode in="SourceGraphic"></feMergeNode>
</feMerge>
</filter>
См. эту скрипку Я сделал, основываясь на Ответ Дрю .
Вот разбивка того, что делает фильтр:
- Объедините заливку с источником, чтобы закрасить его (
feFlood
и feComposite
). - Немного раскройте этот цветной объект (
feMorphology
с operator="dilate"
) - Примените наш старый добрый эффект размытия, чтобы он светился!(
feGaussianBlur
) - Прикрепите этот цветной, расширенный, светящийся объект под источником (
feMerge
)