Какая точная математика за фильтром вращения оттенка - PullRequest
0 голосов
/ 24 сентября 2018

Теоретически для каждой возможной изменяющей цвет css функции фильтра s, такой как grayscale, invert, opacity, saturate, sepia, существует эквивалентное преобразование, достижимое с помощью фильтра svg feColorMatrix.Фактически, почти все такие операции описаны здесь .

Например, сепия - это сокращение для:

<filter id="sepia">
  <feColorMatrix type="matrix"
             values="(0.393 + 0.607 * [1 - amount]) (0.769 - 0.769 * [1 - amount]) (0.189 - 0.189 * [1 - amount]) 0 0
                     (0.349 - 0.349 * [1 - amount]) (0.686 + 0.314 * [1 - amount]) (0.168 - 0.168 * [1 - amount]) 0 0
                     (0.272 - 0.272 * [1 - amount]) (0.534 - 0.534 * [1 - amount]) (0.131 + 0.869 * [1 - amount]) 0 0
                     0 0 0 1 0"/>
</filter> 

с hue-rotate, хотя это немного сложнее,Фактическое определение:

enter image description here

Это в значительной степени то, как реализовано в Chromium.

Мой вопрос будетбыть - какая точная математика стоит за этими коэффициентами - почему именно они были выбраны?Они обозначают приближения некоторых иррациональных чисел или чего-то еще?

...