В документации Mozilla для feColorMatrix указано, что
Элемент фильтра SVG меняет цвета на основе матрицы преобразования.Значение цвета каждого пикселя (представленное вектором [R, G, B, A]) умножается на матрицу для создания нового цвета.
Однако в feColorMatrix
есть 5 столбцов, а не 4.В превосходной статье , которая может рассматриваться как классическая ссылка, говорится, что:
Матрица здесь фактически вычисляет окончательное значение RGBA в своих строках, давая каждому каналу RGBAсвой собственный канал RGBA.Последнее число является множителем.
Но это мало что объясняет.Насколько я понимаю, поскольку после применения фильтра мы в основном модифицируем именно каналы R, G, B и A и больше ничего в этом дополнительном параметре не требуется.Косвенно этому есть доказательства в самой статье - во всех многочисленных примерах фильтров на основе feColorMatrix - все имеют нули в качестве пятого компонента.Кроме того, почему это множитель?
В другой известной статье указано, что:
Для других строк вы создаете каждое из выходных значений rgba как сумму rgba.входные значения, умноженные на соответствующее значение матрицы, плюс константа.
Называть ее добавленной константой имеет больший смысл, чем называть ее множителем, однако до сих пор неясно , что делает пятый компонент в матрице feColorчто означает и чего нельзя достичь без этого - так что это был бы мой вопрос.
Моей последней надеждой была ссылка на w3c, но она также на удивление неопределенная .