Правильно ли я указываю цветовую интерполяцию в моих SVG-градиентах? - PullRequest
0 голосов
/ 01 марта 2020

Я хочу линейно интерполировать в SVG-градиенте. Я думаю, что установка color-interpolation="linearRGB" это способ сделать это. Но это, похоже, не действует ни в одном из нескольких браузеров, которые я пробовал. Обе эти полосы выглядят одинаково для меня, и палитра цветов программы рисования также не показывает мне никакой разницы:

<svg width="100%" height="100%" viewBox="0 0 1000 200"
     xmlns="http://www.w3.org/2000/svg" version="1.1">
  <defs>
    <linearGradient id="grado" color-interpolation="sRGB">
      <stop offset="0" stop-color="#f00" />
      <stop offset="1" stop-color="#00f" />
    </linearGradient>
    <linearGradient id="lino" color-interpolation="linearRGB">
      <stop offset="0" stop-color="#f00" />
      <stop offset="1" stop-color="#00f" />
    </linearGradient>
  </defs>
  <rect x="0" y="0" width="1000" height="90" fill="url(#grado)" stroke-width="0" />
  <rect x="0" y="95" width="1000" height="90" fill="url(#lino)" stroke-width="0" />
</svg>

Я понял из своих поисков в Google, что linearRGB не всегда идеально поддерживается программным обеспечением. Но у меня также складывается впечатление (из некоторых источников), что по крайней мере некоторые браузеры хотя бы частично реализуют его. Поэтому я ожидаю увидеть разницу между полосами в НЕКОТОРОМ браузере. Действительно ли нет популярного браузера, который поддерживает эту полезную и тривиально реализованную операцию, или я просто как-то неправильно указываю изображение?

1 Ответ

0 голосов
/ 02 марта 2020

Начиная с https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-interpolation, кажется, что ни один браузер пока не поддерживает его. Если Mozilla поставит ? в Firefox, это действительно неизвестно.

В любом случае, что вы ожидаете от разницы?

Ваш случай должен показать минимальный эффект: вы в основном меняя оттенок. В любом случае, я пытался с #000 до #fff в нескольких браузерах, и до сих пор не вижу разницы. В этом случае средний цвет должен составлять 0,5 в случае sRGB и 0,18 в случае linearRGB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...